mirror of
https://github.com/ioacademy-jikim/debugging
synced 2026-11-01 07:47:40 +00:00
first commit
This commit is contained in:
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,99 @@
|
||||
exp_bbv_x86_linux-bbv_main.o: bbv_main.c /usr/include/stdc-predef.h \
|
||||
../include/pub_tool_basics.h ../VEX/pub/libvex_basictypes.h \
|
||||
/usr/lib/gcc/i686-linux-gnu/5/include/stdarg.h \
|
||||
../include/pub_tool_tooliface.h ../include/pub_tool_errormgr.h \
|
||||
../include/pub_tool_execontext.h ../include/pub_tool_basics.h \
|
||||
../VEX/pub/libvex.h ../VEX/pub/libvex_basictypes.h \
|
||||
../VEX/pub/libvex_ir.h ../include/pub_tool_options.h \
|
||||
../include/pub_tool_vki.h ../include/vki/vki-linux.h \
|
||||
../include/vki/vki-posixtypes-x86-linux.h ../include/vki/vki-x86-linux.h \
|
||||
../include/vki/vki-linux-drm.h ../include/vki/vki-xen.h \
|
||||
../include/vki/vki-xen-x86.h ../include/vki/vki-xen-domctl.h \
|
||||
../include/vki/vki-xen-sysctl.h ../include/vki/vki-xen-mmuext.h \
|
||||
../include/vki/vki-xen-schedop.h ../include/vki/vki-xen-memory.h \
|
||||
../include/vki/vki-xen-evtchn.h ../include/vki/vki-xen-gnttab.h \
|
||||
../include/vki/vki-xen-version.h ../include/vki/vki-xen-hvm.h \
|
||||
../include/vki/vki-xen-tmem.h ../include/vki/vki-xen-xsm.h \
|
||||
../include/vki/vki-xen-physdev.h ../include/pub_tool_libcbase.h \
|
||||
../include/pub_tool_libcprint.h ../include/pub_tool_libcassert.h \
|
||||
../include/pub_tool_mallocfree.h ../include/pub_tool_machine.h \
|
||||
../include/pub_tool_debuginfo.h ../include/pub_tool_xarray.h \
|
||||
../include/pub_tool_oset.h
|
||||
|
||||
/usr/include/stdc-predef.h:
|
||||
|
||||
../include/pub_tool_basics.h:
|
||||
|
||||
../VEX/pub/libvex_basictypes.h:
|
||||
|
||||
/usr/lib/gcc/i686-linux-gnu/5/include/stdarg.h:
|
||||
|
||||
../include/pub_tool_tooliface.h:
|
||||
|
||||
../include/pub_tool_errormgr.h:
|
||||
|
||||
../include/pub_tool_execontext.h:
|
||||
|
||||
../include/pub_tool_basics.h:
|
||||
|
||||
../VEX/pub/libvex.h:
|
||||
|
||||
../VEX/pub/libvex_basictypes.h:
|
||||
|
||||
../VEX/pub/libvex_ir.h:
|
||||
|
||||
../include/pub_tool_options.h:
|
||||
|
||||
../include/pub_tool_vki.h:
|
||||
|
||||
../include/vki/vki-linux.h:
|
||||
|
||||
../include/vki/vki-posixtypes-x86-linux.h:
|
||||
|
||||
../include/vki/vki-x86-linux.h:
|
||||
|
||||
../include/vki/vki-linux-drm.h:
|
||||
|
||||
../include/vki/vki-xen.h:
|
||||
|
||||
../include/vki/vki-xen-x86.h:
|
||||
|
||||
../include/vki/vki-xen-domctl.h:
|
||||
|
||||
../include/vki/vki-xen-sysctl.h:
|
||||
|
||||
../include/vki/vki-xen-mmuext.h:
|
||||
|
||||
../include/vki/vki-xen-schedop.h:
|
||||
|
||||
../include/vki/vki-xen-memory.h:
|
||||
|
||||
../include/vki/vki-xen-evtchn.h:
|
||||
|
||||
../include/vki/vki-xen-gnttab.h:
|
||||
|
||||
../include/vki/vki-xen-version.h:
|
||||
|
||||
../include/vki/vki-xen-hvm.h:
|
||||
|
||||
../include/vki/vki-xen-tmem.h:
|
||||
|
||||
../include/vki/vki-xen-xsm.h:
|
||||
|
||||
../include/vki/vki-xen-physdev.h:
|
||||
|
||||
../include/pub_tool_libcbase.h:
|
||||
|
||||
../include/pub_tool_libcprint.h:
|
||||
|
||||
../include/pub_tool_libcassert.h:
|
||||
|
||||
../include/pub_tool_mallocfree.h:
|
||||
|
||||
../include/pub_tool_machine.h:
|
||||
|
||||
../include/pub_tool_debuginfo.h:
|
||||
|
||||
../include/pub_tool_xarray.h:
|
||||
|
||||
../include/pub_tool_oset.h:
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,54 @@
|
||||
include $(top_srcdir)/Makefile.tool.am
|
||||
|
||||
EXTRA_DIST = docs/bbv-manual.xml
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# exp-bbv-<platform>
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
noinst_PROGRAMS = exp-bbv-@VGCONF_ARCH_PRI@-@VGCONF_OS@
|
||||
if VGCONF_HAVE_PLATFORM_SEC
|
||||
noinst_PROGRAMS += exp-bbv-@VGCONF_ARCH_SEC@-@VGCONF_OS@
|
||||
endif
|
||||
|
||||
BBV_SOURCES_COMMON = bbv_main.c
|
||||
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_SOURCES = \
|
||||
$(BBV_SOURCES_COMMON)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CPPFLAGS = \
|
||||
$(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS = \
|
||||
$(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_DEPENDENCIES = \
|
||||
$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDADD = \
|
||||
$(TOOL_LDADD_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS = \
|
||||
$(TOOL_LDFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LINK = \
|
||||
$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
|
||||
@VALT_LOAD_ADDRESS_PRI@ \
|
||||
$(LINK) \
|
||||
$(exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_CFLAGS) \
|
||||
$(exp_bbv_@VGCONF_ARCH_PRI@_@VGCONF_OS@_LDFLAGS)
|
||||
|
||||
if VGCONF_HAVE_PLATFORM_SEC
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_SOURCES = \
|
||||
$(BBV_SOURCES_COMMON)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CPPFLAGS = \
|
||||
$(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS = \
|
||||
$(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_DEPENDENCIES = \
|
||||
$(TOOL_DEPENDENCIES_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDADD = \
|
||||
$(TOOL_LDADD_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS = \
|
||||
$(TOOL_LDFLAGS_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LINK = \
|
||||
$(top_builddir)/coregrind/link_tool_exe_@VGCONF_OS@ \
|
||||
@VALT_LOAD_ADDRESS_SEC@ \
|
||||
$(LINK) \
|
||||
$(exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_CFLAGS) \
|
||||
$(exp_bbv_@VGCONF_ARCH_SEC@_@VGCONF_OS@_LDFLAGS)
|
||||
endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,625 @@
|
||||
/* -*- mode: C; c-basic-offset: 3; -*- */
|
||||
|
||||
//--------------------------------------------------------------------*/
|
||||
//--- BBV: a SimPoint basic block vector generator bbv_main.c ---*/
|
||||
//--------------------------------------------------------------------*/
|
||||
|
||||
/*
|
||||
This file is part of BBV, a Valgrind tool for generating SimPoint
|
||||
basic block vectors.
|
||||
|
||||
Copyright (C) 2006-2015 Vince Weaver
|
||||
vince _at_ csl.cornell.edu
|
||||
|
||||
pcfile code is Copyright (C) 2006-2015 Oriol Prat
|
||||
oriol.prat _at _ bsc.es
|
||||
|
||||
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., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307, USA.
|
||||
|
||||
The GNU General Public License is contained in the file COPYING.
|
||||
*/
|
||||
|
||||
|
||||
#include "pub_tool_basics.h"
|
||||
#include "pub_tool_tooliface.h"
|
||||
#include "pub_tool_options.h" /* command line options */
|
||||
|
||||
#include "pub_tool_vki.h" /* VKI_O_CREAT */
|
||||
#include "pub_tool_libcbase.h" /* VG_(strlen) */
|
||||
#include "pub_tool_libcprint.h" /* VG_(printf) */
|
||||
#include "pub_tool_libcassert.h" /* VG_(exit) */
|
||||
#include "pub_tool_mallocfree.h" /* VG_(malloc) */
|
||||
#include "pub_tool_machine.h" /* VG_(fnptr_to_fnentry) */
|
||||
#include "pub_tool_debuginfo.h" /* VG_(get_fnname) */
|
||||
|
||||
#include "pub_tool_oset.h" /* ordered set stuff */
|
||||
|
||||
/* instruction special cases */
|
||||
#define REP_INSTRUCTION 0x1
|
||||
#define FLDCW_INSTRUCTION 0x2
|
||||
|
||||
/* interval variables */
|
||||
#define DEFAULT_GRAIN_SIZE 100000000 /* 100 million by default */
|
||||
static Int interval_size=DEFAULT_GRAIN_SIZE;
|
||||
|
||||
/* filenames */
|
||||
static const HChar *clo_bb_out_file="bb.out.%p";
|
||||
static const HChar *clo_pc_out_file="pc.out.%p";
|
||||
static HChar *pc_out_file=NULL;
|
||||
static HChar *bb_out_file=NULL;
|
||||
|
||||
|
||||
/* output parameters */
|
||||
static Bool instr_count_only=False;
|
||||
static Bool generate_pc_file=False;
|
||||
|
||||
/* Global values */
|
||||
static OSet* instr_info_table; /* table that holds the basic block info */
|
||||
static Int block_num=1; /* global next block number */
|
||||
static Int current_thread=0;
|
||||
static Int allocated_threads=1;
|
||||
struct thread_info *bbv_thread=NULL;
|
||||
|
||||
/* Per-thread variables */
|
||||
struct thread_info {
|
||||
ULong dyn_instr; /* Current retired instruction count */
|
||||
ULong total_instr; /* Total retired instruction count */
|
||||
Addr last_rep_addr; /* rep counting values */
|
||||
ULong rep_count;
|
||||
ULong global_rep_count;
|
||||
ULong unique_rep_count;
|
||||
ULong fldcw_count; /* fldcw count */
|
||||
VgFile *bbtrace_fp; /* file pointer */
|
||||
};
|
||||
|
||||
struct BB_info {
|
||||
Addr BB_addr; /* used as key, must be first */
|
||||
Int n_instrs; /* instructions in the basic block */
|
||||
Int block_num; /* unique block identifier */
|
||||
Int *inst_counter; /* times entered * num_instructions */
|
||||
Bool is_entry; /* is this block a function entry point */
|
||||
const HChar *fn_name; /* Function block is in */
|
||||
};
|
||||
|
||||
|
||||
/* dump the optional PC file, which contains basic block number to */
|
||||
/* instruction address and function name mappings */
|
||||
static void dumpPcFile(void)
|
||||
{
|
||||
struct BB_info *bb_elem;
|
||||
VgFile *fp;
|
||||
|
||||
pc_out_file =
|
||||
VG_(expand_file_name)("--pc-out-file", clo_pc_out_file);
|
||||
|
||||
fp = VG_(fopen)(pc_out_file, VKI_O_CREAT|VKI_O_TRUNC|VKI_O_WRONLY,
|
||||
VKI_S_IRUSR|VKI_S_IWUSR|VKI_S_IRGRP|VKI_S_IWGRP);
|
||||
if (fp == NULL) {
|
||||
VG_(umsg)("Error: cannot create pc file %s\n", pc_out_file);
|
||||
VG_(exit)(1);
|
||||
}
|
||||
|
||||
/* Loop through the table, printing the number, address, */
|
||||
/* and function name for each basic block */
|
||||
VG_(OSetGen_ResetIter)(instr_info_table);
|
||||
while ( (bb_elem = VG_(OSetGen_Next)(instr_info_table)) ) {
|
||||
VG_(fprintf)( fp, "F:%d:%lx:%s\n", bb_elem->block_num,
|
||||
bb_elem->BB_addr, bb_elem->fn_name);
|
||||
}
|
||||
|
||||
VG_(fclose)(fp);
|
||||
}
|
||||
|
||||
static VgFile *open_tracefile(Int thread_num)
|
||||
{
|
||||
VgFile *fp;
|
||||
// Allocate a buffer large enough for the general case "%s.%d" below
|
||||
HChar temp_string[VG_(strlen)(bb_out_file) + 1 + 10 + 1];
|
||||
|
||||
/* For thread 1, don't append any thread number */
|
||||
/* This lets the single-thread case not have any */
|
||||
/* extra values appended to the file name. */
|
||||
if (thread_num==1) {
|
||||
VG_(strcpy)(temp_string, bb_out_file);
|
||||
}
|
||||
else {
|
||||
VG_(sprintf)(temp_string,"%s.%d",bb_out_file,thread_num);
|
||||
}
|
||||
|
||||
fp = VG_(fopen)(temp_string, VKI_O_CREAT|VKI_O_TRUNC|VKI_O_WRONLY,
|
||||
VKI_S_IRUSR|VKI_S_IWUSR|VKI_S_IRGRP|VKI_S_IWGRP);
|
||||
|
||||
if (fp == NULL) {
|
||||
VG_(umsg)("Error: cannot create bb file %s\n",temp_string);
|
||||
VG_(exit)(1);
|
||||
}
|
||||
|
||||
return fp;
|
||||
}
|
||||
|
||||
static void handle_overflow(void)
|
||||
{
|
||||
struct BB_info *bb_elem;
|
||||
|
||||
if (bbv_thread[current_thread].dyn_instr > interval_size) {
|
||||
|
||||
if (!instr_count_only) {
|
||||
|
||||
/* If our output file hasn't been opened, open it */
|
||||
if (bbv_thread[current_thread].bbtrace_fp == NULL) {
|
||||
bbv_thread[current_thread].bbtrace_fp=open_tracefile(current_thread);
|
||||
}
|
||||
|
||||
/* put an entry to the bb.out file */
|
||||
|
||||
VG_(fprintf)(bbv_thread[current_thread].bbtrace_fp, "T");
|
||||
|
||||
VG_(OSetGen_ResetIter)(instr_info_table);
|
||||
while ( (bb_elem = VG_(OSetGen_Next)(instr_info_table)) ) {
|
||||
if ( bb_elem->inst_counter[current_thread] != 0 ) {
|
||||
VG_(fprintf)(bbv_thread[current_thread].bbtrace_fp, ":%d:%d ",
|
||||
bb_elem->block_num,
|
||||
bb_elem->inst_counter[current_thread]);
|
||||
bb_elem->inst_counter[current_thread] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
VG_(fprintf)(bbv_thread[current_thread].bbtrace_fp, "\n");
|
||||
}
|
||||
|
||||
bbv_thread[current_thread].dyn_instr -= interval_size;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void close_out_reps(void)
|
||||
{
|
||||
bbv_thread[current_thread].global_rep_count+=bbv_thread[current_thread].rep_count;
|
||||
bbv_thread[current_thread].unique_rep_count++;
|
||||
bbv_thread[current_thread].rep_count=0;
|
||||
}
|
||||
|
||||
/* Generic function to get called each instruction */
|
||||
static VG_REGPARM(1) void per_instruction_BBV(struct BB_info *bbInfo)
|
||||
{
|
||||
Int n_instrs=1;
|
||||
|
||||
tl_assert(bbInfo);
|
||||
|
||||
/* we finished rep but didn't clear out count */
|
||||
if (bbv_thread[current_thread].rep_count) {
|
||||
n_instrs++;
|
||||
close_out_reps();
|
||||
}
|
||||
|
||||
bbInfo->inst_counter[current_thread]+=n_instrs;
|
||||
|
||||
bbv_thread[current_thread].total_instr+=n_instrs;
|
||||
bbv_thread[current_thread].dyn_instr +=n_instrs;
|
||||
|
||||
handle_overflow();
|
||||
}
|
||||
|
||||
/* Function to get called if instruction has a rep prefix */
|
||||
static VG_REGPARM(1) void per_instruction_BBV_rep(Addr addr)
|
||||
{
|
||||
/* handle back-to-back rep instructions */
|
||||
if (bbv_thread[current_thread].last_rep_addr!=addr) {
|
||||
if (bbv_thread[current_thread].rep_count) {
|
||||
close_out_reps();
|
||||
bbv_thread[current_thread].total_instr++;
|
||||
bbv_thread[current_thread].dyn_instr++;
|
||||
}
|
||||
bbv_thread[current_thread].last_rep_addr=addr;
|
||||
}
|
||||
|
||||
bbv_thread[current_thread].rep_count++;
|
||||
|
||||
}
|
||||
|
||||
/* Function to call if our instruction has a fldcw instruction */
|
||||
static VG_REGPARM(1) void per_instruction_BBV_fldcw(struct BB_info *bbInfo)
|
||||
{
|
||||
Int n_instrs=1;
|
||||
|
||||
tl_assert(bbInfo);
|
||||
|
||||
/* we finished rep but didn't clear out count */
|
||||
if (bbv_thread[current_thread].rep_count) {
|
||||
n_instrs++;
|
||||
close_out_reps();
|
||||
}
|
||||
|
||||
/* count fldcw instructions */
|
||||
bbv_thread[current_thread].fldcw_count++;
|
||||
|
||||
bbInfo->inst_counter[current_thread]+=n_instrs;
|
||||
|
||||
bbv_thread[current_thread].total_instr+=n_instrs;
|
||||
bbv_thread[current_thread].dyn_instr +=n_instrs;
|
||||
|
||||
handle_overflow();
|
||||
}
|
||||
|
||||
/* Check if the instruction pointed to is one that needs */
|
||||
/* special handling. If so, set a bit in the return */
|
||||
/* value indicating what type. */
|
||||
static Int get_inst_type(UInt len, Addr addr)
|
||||
{
|
||||
int result=0;
|
||||
|
||||
#if defined(VGA_x86) || defined(VGA_amd64)
|
||||
|
||||
UChar *inst_pointer;
|
||||
UChar inst_byte;
|
||||
int i,possible_rep;
|
||||
|
||||
/* rep prefixed instructions are counted as one instruction on */
|
||||
/* x86 processors and must be handled as a special case */
|
||||
|
||||
/* Also, the rep prefix is re-used as part of the opcode for */
|
||||
/* SSE instructions. So we need to specifically check for */
|
||||
/* the following: movs, cmps, scas, lods, stos, ins, outs */
|
||||
|
||||
inst_pointer=(UChar *)addr;
|
||||
i=0;
|
||||
inst_byte=0;
|
||||
possible_rep=0;
|
||||
|
||||
while (i<len) {
|
||||
|
||||
inst_byte=*inst_pointer;
|
||||
|
||||
if ( (inst_byte == 0x67) || /* size override prefix */
|
||||
(inst_byte == 0x66) || /* size override prefix */
|
||||
(inst_byte == 0x48) ) { /* 64-bit prefix */
|
||||
} else if ( (inst_byte == 0xf2) || /* rep prefix */
|
||||
(inst_byte == 0xf3) ) { /* repne prefix */
|
||||
possible_rep=1;
|
||||
} else {
|
||||
break; /* other byte, exit */
|
||||
}
|
||||
|
||||
i++;
|
||||
inst_pointer++;
|
||||
}
|
||||
|
||||
if ( possible_rep &&
|
||||
( ( (inst_byte >= 0xa4) && /* movs,cmps,scas */
|
||||
(inst_byte <= 0xaf) ) || /* lods,stos */
|
||||
( (inst_byte >= 0x6c) &&
|
||||
(inst_byte <= 0x6f) ) ) ) { /* ins,outs */
|
||||
|
||||
result|=REP_INSTRUCTION;
|
||||
}
|
||||
|
||||
/* fldcw instructions are double-counted by the hardware */
|
||||
/* performance counters on pentium 4 processors so it is */
|
||||
/* useful to have that count when doing validation work. */
|
||||
|
||||
inst_pointer=(UChar *)addr;
|
||||
if (len>1) {
|
||||
/* FLDCW detection */
|
||||
/* opcode is 0xd9/5, ie 1101 1001 oo10 1mmm */
|
||||
if ((*inst_pointer==0xd9) &&
|
||||
(*(inst_pointer+1)<0xb0) && /* need this case of fldz, etc, count */
|
||||
( (*(inst_pointer+1) & 0x38) == 0x28)) {
|
||||
result|=FLDCW_INSTRUCTION;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Our instrumentation function */
|
||||
/* sbIn = super block to translate */
|
||||
/* layout = guest layout */
|
||||
/* gWordTy = size of guest word */
|
||||
/* hWordTy = size of host word */
|
||||
static IRSB* bbv_instrument ( VgCallbackClosure* closure,
|
||||
IRSB* sbIn, const VexGuestLayout* layout,
|
||||
const VexGuestExtents* vge,
|
||||
const VexArchInfo* archinfo_host,
|
||||
IRType gWordTy, IRType hWordTy )
|
||||
{
|
||||
Int i,n_instrs=1;
|
||||
IRSB *sbOut;
|
||||
IRStmt *st;
|
||||
struct BB_info *bbInfo;
|
||||
Addr origAddr,ourAddr;
|
||||
IRDirty *di;
|
||||
IRExpr **argv, *arg1;
|
||||
Int regparms,opcode_type;
|
||||
|
||||
/* We don't handle a host/guest word size mismatch */
|
||||
if (gWordTy != hWordTy) {
|
||||
VG_(tool_panic)("host/guest word size mismatch");
|
||||
}
|
||||
|
||||
/* Set up SB */
|
||||
sbOut = deepCopyIRSBExceptStmts(sbIn);
|
||||
|
||||
/* Copy verbatim any IR preamble preceding the first IMark */
|
||||
i = 0;
|
||||
while ( (i < sbIn->stmts_used) && (sbIn->stmts[i]->tag!=Ist_IMark)) {
|
||||
addStmtToIRSB( sbOut, sbIn->stmts[i] );
|
||||
i++;
|
||||
}
|
||||
|
||||
/* Get the first statement */
|
||||
tl_assert(sbIn->stmts_used > 0);
|
||||
st = sbIn->stmts[i];
|
||||
|
||||
/* double check we are at a Mark statement */
|
||||
tl_assert(Ist_IMark == st->tag);
|
||||
|
||||
origAddr=st->Ist.IMark.addr;
|
||||
|
||||
/* Get the BB_info */
|
||||
bbInfo = VG_(OSetGen_Lookup)(instr_info_table, &origAddr);
|
||||
|
||||
if (bbInfo==NULL) {
|
||||
|
||||
/* BB never translated before (at this address, at least; */
|
||||
/* could have been unloaded and then reloaded elsewhere in memory) */
|
||||
|
||||
/* allocate and initialize a new basic block structure */
|
||||
bbInfo=VG_(OSetGen_AllocNode)(instr_info_table, sizeof(struct BB_info));
|
||||
bbInfo->BB_addr = origAddr;
|
||||
bbInfo->n_instrs = n_instrs;
|
||||
bbInfo->inst_counter=VG_(calloc)("bbv_instrument",
|
||||
allocated_threads,
|
||||
sizeof(Int));
|
||||
|
||||
/* assign a unique block number */
|
||||
bbInfo->block_num=block_num;
|
||||
block_num++;
|
||||
/* get function name and entry point information */
|
||||
const HChar *fn_name;
|
||||
VG_(get_fnname)(origAddr, &fn_name);
|
||||
bbInfo->is_entry=VG_(get_fnname_if_entry)(origAddr, &fn_name);
|
||||
bbInfo->fn_name =VG_(strdup)("bbv_strings", fn_name);
|
||||
/* insert structure into table */
|
||||
VG_(OSetGen_Insert)( instr_info_table, bbInfo );
|
||||
}
|
||||
|
||||
/* Iterate through the basic block, putting the original */
|
||||
/* instructions in place, plus putting a call to updateBBV */
|
||||
/* for each original instruction */
|
||||
|
||||
/* This is less efficient than only instrumenting the BB */
|
||||
/* But it gives proper results given the fact that */
|
||||
/* valgrind uses superblocks (not basic blocks) by default */
|
||||
|
||||
|
||||
while(i < sbIn->stmts_used) {
|
||||
st=sbIn->stmts[i];
|
||||
|
||||
if (st->tag == Ist_IMark) {
|
||||
|
||||
ourAddr = st->Ist.IMark.addr;
|
||||
|
||||
opcode_type=get_inst_type(st->Ist.IMark.len,ourAddr);
|
||||
|
||||
regparms=1;
|
||||
arg1= mkIRExpr_HWord( (HWord)bbInfo);
|
||||
argv= mkIRExprVec_1(arg1);
|
||||
|
||||
|
||||
if (opcode_type&REP_INSTRUCTION) {
|
||||
arg1= mkIRExpr_HWord(ourAddr);
|
||||
argv= mkIRExprVec_1(arg1);
|
||||
di= unsafeIRDirty_0_N( regparms, "per_instruction_BBV_rep",
|
||||
VG_(fnptr_to_fnentry)( &per_instruction_BBV_rep ),
|
||||
argv);
|
||||
}
|
||||
else if (opcode_type&FLDCW_INSTRUCTION) {
|
||||
di= unsafeIRDirty_0_N( regparms, "per_instruction_BBV_fldcw",
|
||||
VG_(fnptr_to_fnentry)( &per_instruction_BBV_fldcw ),
|
||||
argv);
|
||||
}
|
||||
else {
|
||||
di= unsafeIRDirty_0_N( regparms, "per_instruction_BBV",
|
||||
VG_(fnptr_to_fnentry)( &per_instruction_BBV ),
|
||||
argv);
|
||||
}
|
||||
|
||||
|
||||
/* Insert our call */
|
||||
addStmtToIRSB( sbOut, IRStmt_Dirty(di));
|
||||
}
|
||||
|
||||
/* Insert the original instruction */
|
||||
addStmtToIRSB( sbOut, st );
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
return sbOut;
|
||||
}
|
||||
|
||||
static struct thread_info *allocate_new_thread(struct thread_info *old,
|
||||
Int old_number, Int new_number)
|
||||
{
|
||||
struct thread_info *temp;
|
||||
struct BB_info *bb_elem;
|
||||
Int i;
|
||||
|
||||
temp=VG_(realloc)("bbv_main.c allocate_threads",
|
||||
old,
|
||||
new_number*sizeof(struct thread_info));
|
||||
|
||||
/* init the new thread */
|
||||
/* We loop in case the new thread is not contiguous */
|
||||
for(i=old_number;i<new_number;i++) {
|
||||
temp[i].last_rep_addr=0;
|
||||
temp[i].dyn_instr=0;
|
||||
temp[i].total_instr=0;
|
||||
temp[i].global_rep_count=0;
|
||||
temp[i].unique_rep_count=0;
|
||||
temp[i].rep_count=0;
|
||||
temp[i].fldcw_count=0;
|
||||
temp[i].bbtrace_fp=NULL;
|
||||
}
|
||||
/* expand the inst_counter on all allocated basic blocks */
|
||||
VG_(OSetGen_ResetIter)(instr_info_table);
|
||||
while ( (bb_elem = VG_(OSetGen_Next)(instr_info_table)) ) {
|
||||
bb_elem->inst_counter =
|
||||
VG_(realloc)("bbv_main.c inst_counter",
|
||||
bb_elem->inst_counter,
|
||||
new_number*sizeof(Int));
|
||||
for(i=old_number;i<new_number;i++) {
|
||||
bb_elem->inst_counter[i]=0;
|
||||
}
|
||||
}
|
||||
|
||||
return temp;
|
||||
}
|
||||
|
||||
static void bbv_thread_called ( ThreadId tid, ULong nDisp )
|
||||
{
|
||||
if (tid >= allocated_threads) {
|
||||
bbv_thread=allocate_new_thread(bbv_thread,allocated_threads,tid+1);
|
||||
allocated_threads=tid+1;
|
||||
}
|
||||
current_thread=tid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
/*--- Setup ---*/
|
||||
/*--------------------------------------------------------------------*/
|
||||
|
||||
static void bbv_post_clo_init(void)
|
||||
{
|
||||
bb_out_file =
|
||||
VG_(expand_file_name)("--bb-out-file", clo_bb_out_file);
|
||||
|
||||
/* Try a closer approximation of basic blocks */
|
||||
/* This is the same as the command line option */
|
||||
/* --vex-guest-chase-thresh=0 */
|
||||
VG_(clo_vex_control).guest_chase_thresh = 0;
|
||||
}
|
||||
|
||||
/* Parse the command line options */
|
||||
static Bool bbv_process_cmd_line_option(const HChar* arg)
|
||||
{
|
||||
if VG_INT_CLO (arg, "--interval-size", interval_size) {}
|
||||
else if VG_STR_CLO (arg, "--bb-out-file", clo_bb_out_file) {}
|
||||
else if VG_STR_CLO (arg, "--pc-out-file", clo_pc_out_file) {
|
||||
generate_pc_file = True;
|
||||
}
|
||||
else if VG_BOOL_CLO (arg, "--instr-count-only", instr_count_only) {}
|
||||
else {
|
||||
return False;
|
||||
}
|
||||
|
||||
return True;
|
||||
}
|
||||
|
||||
static void bbv_print_usage(void)
|
||||
{
|
||||
VG_(printf)(
|
||||
" --bb-out-file=<file> filename for BBV info\n"
|
||||
" --pc-out-file=<file> filename for BB addresses and function names\n"
|
||||
" --interval-size=<num> interval size\n"
|
||||
" --instr-count-only=yes|no only print total instruction count\n"
|
||||
);
|
||||
}
|
||||
|
||||
static void bbv_print_debug_usage(void)
|
||||
{
|
||||
VG_(printf)(" (none)\n");
|
||||
}
|
||||
|
||||
static void bbv_fini(Int exitcode)
|
||||
{
|
||||
Int i;
|
||||
|
||||
if (generate_pc_file) {
|
||||
dumpPcFile();
|
||||
}
|
||||
|
||||
for(i=0;i<allocated_threads;i++) {
|
||||
|
||||
if (bbv_thread[i].total_instr!=0) {
|
||||
HChar buf[500]; // large enough
|
||||
VG_(sprintf)(buf,"\n\n"
|
||||
"# Thread %d\n"
|
||||
"# Total intervals: %d (Interval Size %d)\n"
|
||||
"# Total instructions: %llu\n"
|
||||
"# Total reps: %llu\n"
|
||||
"# Unique reps: %llu\n"
|
||||
"# Total fldcw instructions: %llu\n\n",
|
||||
i,
|
||||
(Int)(bbv_thread[i].total_instr/(ULong)interval_size),
|
||||
interval_size,
|
||||
bbv_thread[i].total_instr,
|
||||
bbv_thread[i].global_rep_count,
|
||||
bbv_thread[i].unique_rep_count,
|
||||
bbv_thread[i].fldcw_count);
|
||||
|
||||
/* Print results to display */
|
||||
VG_(umsg)("%s\n", buf);
|
||||
|
||||
/* open the output file if it hasn't already */
|
||||
if (bbv_thread[i].bbtrace_fp == NULL) {
|
||||
bbv_thread[i].bbtrace_fp=open_tracefile(i);
|
||||
}
|
||||
/* Also print to results file */
|
||||
VG_(fprintf)(bbv_thread[i].bbtrace_fp, "%s", buf);
|
||||
VG_(fclose)(bbv_thread[i].bbtrace_fp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void bbv_pre_clo_init(void)
|
||||
{
|
||||
VG_(details_name) ("exp-bbv");
|
||||
VG_(details_version) (NULL);
|
||||
VG_(details_description) ("a SimPoint basic block vector generator");
|
||||
VG_(details_copyright_author)(
|
||||
"Copyright (C) 2006-2015 Vince Weaver");
|
||||
VG_(details_bug_reports_to) (VG_BUGS_TO);
|
||||
|
||||
VG_(basic_tool_funcs) (bbv_post_clo_init,
|
||||
bbv_instrument,
|
||||
bbv_fini);
|
||||
|
||||
VG_(needs_command_line_options)(bbv_process_cmd_line_option,
|
||||
bbv_print_usage,
|
||||
bbv_print_debug_usage);
|
||||
|
||||
VG_(track_start_client_code)( bbv_thread_called );
|
||||
|
||||
|
||||
instr_info_table = VG_(OSetGen_Create)(/*keyOff*/0,
|
||||
NULL,
|
||||
VG_(malloc), "bbv.1", VG_(free));
|
||||
|
||||
bbv_thread=allocate_new_thread(bbv_thread,0,allocated_threads);
|
||||
}
|
||||
|
||||
VG_DETERMINE_INTERFACE_VERSION(bbv_pre_clo_init)
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
/*--- end ---*/
|
||||
/*--------------------------------------------------------------------*/
|
||||
@@ -0,0 +1,369 @@
|
||||
<?xml version="1.0"?> <!-- -*- sgml -*- -->
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
|
||||
<chapter id="bbv-manual" xreflabel="BBV">
|
||||
<title>BBV: an experimental basic block vector generation tool</title>
|
||||
|
||||
<para>To use this tool, you must specify
|
||||
<option>--tool=exp-bbv</option> on the Valgrind
|
||||
command line.</para>
|
||||
|
||||
<sect1 id="bbv-manual.overview" xreflabel="Overview">
|
||||
<title>Overview</title>
|
||||
|
||||
<para>
|
||||
A basic block is a linear section of code with one entry point and one exit
|
||||
point. A <emphasis>basic block vector</emphasis> (BBV) is a list of all
|
||||
basic blocks entered during program execution, and a count of how many
|
||||
times each basic block was run.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BBV is a tool that generates basic block vectors for use with the
|
||||
<ulink url="http://www.cse.ucsd.edu/~calder/simpoint/">SimPoint</ulink>
|
||||
analysis tool.
|
||||
The SimPoint methodology enables speeding up architectural
|
||||
simulations by only running a small portion of a program
|
||||
and then extrapolating total behavior from this
|
||||
small portion. Most programs exhibit phase-based behavior, which
|
||||
means that at various times during execution a program will encounter
|
||||
intervals of time where the code behaves similarly to a previous
|
||||
interval. If you can detect these intervals and group them together,
|
||||
an approximation of the total program behavior can be obtained
|
||||
by only simulating a bare minimum number of intervals, and then scaling
|
||||
the results.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
In computer architecture research, running a
|
||||
benchmark on a cycle-accurate simulator can cause slowdowns on the order
|
||||
of 1000 times, making it take days, weeks, or even longer to run full
|
||||
benchmarks. By utilizing SimPoint this can be reduced significantly,
|
||||
usually by 90-95%, while still retaining reasonable accuracy.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
A more complete introduction to how SimPoint works can be
|
||||
found in the paper "Automatically Characterizing Large Scale
|
||||
Program Behavior" by T. Sherwood, E. Perelman, G. Hamerly, and
|
||||
B. Calder.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.quickstart" xreflabel="Quick Start">
|
||||
<title>Using Basic Block Vectors to create SimPoints</title>
|
||||
|
||||
<para>
|
||||
To quickly create a basic block vector file, you will call Valgrind
|
||||
like this:
|
||||
|
||||
<programlisting>valgrind --tool=exp-bbv /bin/ls</programlisting>
|
||||
|
||||
In this case we are running on <filename>/bin/ls</filename>,
|
||||
but this can be any program. By default a file called
|
||||
<computeroutput>bb.out.PID</computeroutput> will be created,
|
||||
where PID is replaced by the process ID of the running process.
|
||||
This file contains the basic block vector. For long-running programs
|
||||
this file can be quite large, so it might be wise to compress
|
||||
it with gzip or some other compression program.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
To create actual SimPoint results, you will need the SimPoint utility,
|
||||
available from the
|
||||
<ulink url="http://www.cse.ucsd.edu/~calder/simpoint/">SimPoint webpage</ulink>.
|
||||
Assuming you have downloaded SimPoint 3.2 and compiled it,
|
||||
create SimPoint results with a command like the following:
|
||||
|
||||
<programlisting><![CDATA[
|
||||
./SimPoint.3.2/bin/simpoint -inputVectorsGzipped \
|
||||
-loadFVFile bb.out.1234.gz \
|
||||
-k 5 -saveSimpoints results.simpts \
|
||||
-saveSimpointWeights results.weights]]></programlisting>
|
||||
|
||||
where bb.out.1234.gz is your compressed basic block vector file
|
||||
generated by BBV.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The SimPoint utility does random linear projection using 15-dimensions,
|
||||
then does k-mean clustering to calculate which intervals are
|
||||
of interest. In this example we specify 5 intervals with the
|
||||
-k 5 option.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The outputs from the SimPoint run are the
|
||||
<computeroutput>results.simpts</computeroutput>
|
||||
and <computeroutput>results.weights</computeroutput> files.
|
||||
The first holds the 5 most relevant intervals of the program.
|
||||
The seconds holds the weight to scale each interval by when
|
||||
extrapolating full-program behavior. The intervals and the weights
|
||||
can be used in conjunction with a simulator that supports
|
||||
fast-forwarding; you fast-forward to the interval of interest,
|
||||
collect stats for the desired interval length, then use
|
||||
statistics gathered in conjunction with the weights to
|
||||
calculate your results.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.usage" xreflabel="BBV Command-line Options">
|
||||
<title>BBV Command-line Options</title>
|
||||
|
||||
<para> BBV-specific command-line options are:</para>
|
||||
|
||||
<!-- start of xi:include in the manpage -->
|
||||
<variablelist id="bbv.opts.list">
|
||||
|
||||
<varlistentry id="opt.bb-out-file" xreflabel="--bb-out-file">
|
||||
<term>
|
||||
<option><![CDATA[--bb-out-file=<name> [default: bb.out.%p] ]]></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option selects the name of the basic block vector file. The
|
||||
<option>%p</option> and <option>%q</option> format specifiers can be
|
||||
used to embed the process ID and/or the contents of an environment
|
||||
variable in the name, as is the case for the core option
|
||||
<option><xref linkend="opt.log-file"/></option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="opt.pc-out-file" xreflabel="--pc-out-file">
|
||||
<term>
|
||||
<option><![CDATA[--pc-out-file=<name> [default: pc.out.%p] ]]></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option selects the name of the PC file.
|
||||
This file holds program counter addresses
|
||||
and function name info for the various basic blocks.
|
||||
This can be used in conjunction
|
||||
with the basic block vector file to fast-forward via function names
|
||||
instead of just instruction counts. The
|
||||
<option>%p</option> and <option>%q</option> format specifiers can be
|
||||
used to embed the process ID and/or the contents of an environment
|
||||
variable in the name, as is the case for the core option
|
||||
<option><xref linkend="opt.log-file"/></option>.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="opt.interval-size" xreflabel="--interval-size">
|
||||
<term>
|
||||
<option><![CDATA[--interval-size=<number> [default: 100000000] ]]></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option selects the size of the interval to use.
|
||||
The default is 100
|
||||
million instructions, which is a commonly used value.
|
||||
Other sizes can be used; smaller intervals can help programs
|
||||
with finer-grained phases. However smaller interval size
|
||||
can lead to accuracy issues due to warm-up effects
|
||||
(When fast-forwarding the various architectural features
|
||||
will be un-initialized, and it will take some number
|
||||
of instructions before they "warm up" to the state a
|
||||
full simulation would be at without the fast-forwarding.
|
||||
Large interval sizes tend to mitigate this.)
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry id="opt.instr-count-only" xreflabel="--instr-count-only">
|
||||
<term>
|
||||
<option><![CDATA[--instr-count-only [default: no] ]]></option>
|
||||
</term>
|
||||
<listitem>
|
||||
<para>
|
||||
This option tells the tool to only display instruction count
|
||||
totals, and to not generate the actual basic block vector file.
|
||||
This is useful for debugging, and for gathering instruction count
|
||||
info without generating the large basic block vector files.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
||||
</variablelist>
|
||||
<!-- end of xi:include in the manpage -->
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.fileformat" xreflabel="BBV File Format">
|
||||
<title>Basic Block Vector File Format</title>
|
||||
|
||||
<para>
|
||||
The Basic Block Vector is dumped at fixed intervals. This
|
||||
is commonly done every 100 million instructions; the
|
||||
<option>--interval-size</option> option can be
|
||||
used to change this.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The output file looks like this:
|
||||
</para>
|
||||
|
||||
<programlisting><![CDATA[
|
||||
T:45:1024 :189:99343
|
||||
T:11:78573 :15:1353 :56:1
|
||||
T:18:45 :12:135353 :56:78 314:4324263]]></programlisting>
|
||||
|
||||
<para>
|
||||
Each new interval starts with a T. This is followed on the same line
|
||||
by a series of basic block and frequency pairs, one for each
|
||||
basic block that was entered during the interval. The format for
|
||||
each block/frequency pair is a colon, followed by a number that
|
||||
uniquely identifies the basic block, another colon, and then
|
||||
the frequency (which is the number of times the block was entered,
|
||||
multiplied by the number of instructions in the block). The
|
||||
pairs are separated from each other by a space.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The frequency count is multiplied by the number of instructions that are
|
||||
in the basic block, in order to weigh the count so that instructions in
|
||||
small basic blocks aren't counted as more important than instructions
|
||||
in large basic blocks.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
The SimPoint program only processes lines that start with a "T". All
|
||||
other lines are ignored. Traditionally comments are indicated by
|
||||
starting a line with a "#" character. Some other BBV generation tools,
|
||||
such as PinPoints, generate lines beginning with letters other than "T"
|
||||
to indicate more information about the program being run. We do
|
||||
not generate these, as the SimPoint utility ignores them.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.implementation" xreflabel="Implementation">
|
||||
<title>Implementation</title>
|
||||
|
||||
<para>
|
||||
Valgrind provides all of the information necessary to create
|
||||
BBV files. In the current implementation, all instructions
|
||||
are instrumented. This is slower (by approximately a factor
|
||||
of two) than a method that instruments at the basic block level,
|
||||
but there are some complications (especially with rep prefix
|
||||
detection) that make that method more difficult.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Valgrind actually provides instrumentation at a superblock level.
|
||||
A superblock has one entry point but unlike basic blocks can
|
||||
have multiple exit points. Once a branch occurs into the middle
|
||||
of a block, it is split into a new basic block. Because
|
||||
Valgrind cannot produce "true" basic blocks, the generated
|
||||
BBV vectors will be different than those generated by other tools.
|
||||
In practice this does not seem to affect the accuracy of the
|
||||
SimPoint results. We do internally force the
|
||||
<option>--vex-guest-chase-thresh=0</option>
|
||||
option to Valgrind which forces a more basic-block-like
|
||||
behavior.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
When a superblock is run for the first time, it is instrumented
|
||||
with our BBV routine. A block info (bbInfo) structure is allocated
|
||||
which holds the various information and statistics for the block.
|
||||
A unique block ID is assigned to the block, and then the
|
||||
structure is placed into an ordered set.
|
||||
Then each native instruction in the block is instrumented to
|
||||
call an instruction counting routine with a pointer to the block
|
||||
info structure as an argument.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
At run-time, our instruction counting routines are called once
|
||||
per native instruction. The relevant block info structure is accessed
|
||||
and the block count and total instruction count is updated.
|
||||
If the total instruction count overflows the interval size
|
||||
then we walk the ordered set, writing out the statistics for
|
||||
any block that was accessed in the interval, then resetting the
|
||||
block counters to zero.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
On the x86 and amd64 architectures the counting code has extra
|
||||
code to handle rep-prefixed string instructions. This is because
|
||||
actual hardware counts a rep-prefixed instruction
|
||||
as one instruction, while a naive Valgrind implementation
|
||||
would count it as many (possibly hundreds, thousands or even millions)
|
||||
of instructions. We handle rep-prefixed instructions specially,
|
||||
in order to make the results match those obtained with hardware performance
|
||||
counters.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
BBV also counts the fldcw instruction. This instruction is used on
|
||||
x86 machines in various ways; it is most commonly found when converting
|
||||
floating point values into integers.
|
||||
On Pentium 4 systems the retired instruction performance
|
||||
counter counts this instruction as two instructions (all other
|
||||
known processors only count it as one).
|
||||
This can affect results when using SimPoint on Pentium 4 systems.
|
||||
We provide the fldcw count so that users can evaluate whether it
|
||||
will impact their results enough to avoid using Pentium 4 machines
|
||||
for their experiments. It would be possible to add an option to
|
||||
this tool that mimics the double-counting so that the generated BBV
|
||||
files would be usable for experiments using hardware performance
|
||||
counters on Pentium 4 systems.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.threadsupport" xreflabel="BBV Threaded Support">
|
||||
<title>Threaded Executable Support</title>
|
||||
|
||||
<para>
|
||||
BBV supports threaded programs. When a program has multiple threads,
|
||||
an additional basic block vector file is created for each thread (each
|
||||
additional file is the specified filename with the thread number
|
||||
appended at the end).
|
||||
</para>
|
||||
|
||||
<para>
|
||||
There is no official method of using SimPoint with
|
||||
threaded workloads. The most common method is to run
|
||||
SimPoint on each thread's results independently, and use
|
||||
some method of deterministic execution to try to match the
|
||||
original workload. This should be possible with the current
|
||||
BBV.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.validation" xreflabel="BBV Validation">
|
||||
<title>Validation</title>
|
||||
|
||||
<para>
|
||||
BBV has been tested on x86, amd64, and ppc32 platforms.
|
||||
An earlier version of BBV was tested in detail using
|
||||
hardware performance counters, this work is described in a paper
|
||||
from the HiPEAC'08 conference, "Using Dynamic Binary Instrumentation
|
||||
to Generate Multi-Platform SimPoints: Methodology and Accuracy" by
|
||||
V.M. Weaver and S.A. McKee.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1 id="bbv-manual.performance" xreflabel="BBV Performance">
|
||||
<title>Performance</title>
|
||||
|
||||
<para>
|
||||
Using this program slows down execution by roughly a factor of 40
|
||||
over native execution. This varies depending on the machine
|
||||
used and the benchmark being run.
|
||||
On the SPEC CPU 2000 benchmarks running on a 3.4GHz Pentium D
|
||||
processor, the slowdown ranges from 24x (mcf) to 340x (vortex.2).
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
</chapter>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,983 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS)
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
|
||||
# Platform-specific tests
|
||||
am__append_8 = x86
|
||||
am__append_9 = x86-linux
|
||||
#am__append_10 = amd64-linux
|
||||
#am__append_11 = ppc32-linux
|
||||
#am__append_12 = arm-linux
|
||||
check_PROGRAMS =
|
||||
subdir = exp-bbv/tests
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
distdir
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS =
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../
|
||||
top_builddir = ../..
|
||||
top_srcdir = ../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6) \
|
||||
$(AM_FLAG_M3264_PRI)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7) \
|
||||
$(AM_FLAG_M3264_PRI)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS)
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
SUBDIRS = . $(am__append_8) $(am__append_9) $(am__append_10) \
|
||||
$(am__append_11) $(am__append_12)
|
||||
DIST_SUBDIRS = x86 x86-linux amd64-linux ppc32-linux arm-linux .
|
||||
dist_noinst_SCRIPTS = \
|
||||
filter_bb \
|
||||
filter_stderr
|
||||
|
||||
EXTRA_DIST = \
|
||||
logo.include logo.lzss_new
|
||||
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
# 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.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
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; \
|
||||
($(am__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"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
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 || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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 \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
check: check-recursive
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-checkPROGRAMS clean-generic clean-local mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(am__recursive_targets) check-am install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||
check-am check-local clean clean-checkPROGRAMS clean-generic \
|
||||
clean-local cscopelist-am ctags ctags-am distclean \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
|
||||
pdf-am ps ps-am tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,38 @@
|
||||
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
SUBDIRS = .
|
||||
|
||||
# Platform-specific tests
|
||||
if VGCONF_ARCHS_INCLUDE_X86
|
||||
if !VGCONF_OS_IS_DARWIN
|
||||
SUBDIRS += x86
|
||||
endif
|
||||
endif
|
||||
if VGCONF_PLATFORMS_INCLUDE_X86_LINUX
|
||||
SUBDIRS += x86-linux
|
||||
endif
|
||||
if VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX
|
||||
SUBDIRS += amd64-linux
|
||||
endif
|
||||
if VGCONF_PLATFORMS_INCLUDE_PPC32_LINUX
|
||||
SUBDIRS += ppc32-linux
|
||||
endif
|
||||
if VGCONF_PLATFORMS_INCLUDE_ARM_LINUX
|
||||
SUBDIRS += arm-linux
|
||||
endif
|
||||
|
||||
DIST_SUBDIRS = x86 x86-linux amd64-linux ppc32-linux arm-linux .
|
||||
|
||||
dist_noinst_SCRIPTS = \
|
||||
filter_bb \
|
||||
filter_stderr
|
||||
|
||||
EXTRA_DIST = \
|
||||
logo.include logo.lzss_new
|
||||
|
||||
check_PROGRAMS =
|
||||
|
||||
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
|
||||
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
|
||||
|
||||
@@ -0,0 +1,983 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS)
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
|
||||
# Platform-specific tests
|
||||
@VGCONF_ARCHS_INCLUDE_X86_TRUE@@VGCONF_OS_IS_DARWIN_FALSE@am__append_8 = x86
|
||||
@VGCONF_PLATFORMS_INCLUDE_X86_LINUX_TRUE@am__append_9 = x86-linux
|
||||
@VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX_TRUE@am__append_10 = amd64-linux
|
||||
@VGCONF_PLATFORMS_INCLUDE_PPC32_LINUX_TRUE@am__append_11 = ppc32-linux
|
||||
@VGCONF_PLATFORMS_INCLUDE_ARM_LINUX_TRUE@am__append_12 = arm-linux
|
||||
check_PROGRAMS =
|
||||
subdir = exp-bbv/tests
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
SOURCES =
|
||||
DIST_SOURCES =
|
||||
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
|
||||
ctags-recursive dvi-recursive html-recursive info-recursive \
|
||||
install-data-recursive install-dvi-recursive \
|
||||
install-exec-recursive install-html-recursive \
|
||||
install-info-recursive install-pdf-recursive \
|
||||
install-ps-recursive install-recursive installcheck-recursive \
|
||||
installdirs-recursive pdf-recursive ps-recursive \
|
||||
tags-recursive uninstall-recursive
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
|
||||
distclean-recursive maintainer-clean-recursive
|
||||
am__recursive_targets = \
|
||||
$(RECURSIVE_TARGETS) \
|
||||
$(RECURSIVE_CLEAN_TARGETS) \
|
||||
$(am__extra_recursive_targets)
|
||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||
distdir
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
am__relativize = \
|
||||
dir0=`pwd`; \
|
||||
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
|
||||
sed_rest='s,^[^/]*/*,,'; \
|
||||
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
|
||||
sed_butlast='s,/*[^/]*$$,,'; \
|
||||
while test -n "$$dir1"; do \
|
||||
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
|
||||
if test "$$first" != "."; then \
|
||||
if test "$$first" = ".."; then \
|
||||
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
|
||||
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
|
||||
else \
|
||||
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
|
||||
if test "$$first2" = "$$first"; then \
|
||||
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
|
||||
else \
|
||||
dir2="../$$dir2"; \
|
||||
fi; \
|
||||
dir0="$$dir0"/"$$first"; \
|
||||
fi; \
|
||||
fi; \
|
||||
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
|
||||
done; \
|
||||
reldir="$$dir2"
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6) \
|
||||
$(AM_FLAG_M3264_PRI)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7) \
|
||||
$(AM_FLAG_M3264_PRI)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS)
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
SUBDIRS = . $(am__append_8) $(am__append_9) $(am__append_10) \
|
||||
$(am__append_11) $(am__append_12)
|
||||
DIST_SUBDIRS = x86 x86-linux amd64-linux ppc32-linux arm-linux .
|
||||
dist_noinst_SCRIPTS = \
|
||||
filter_bb \
|
||||
filter_stderr
|
||||
|
||||
EXTRA_DIST = \
|
||||
logo.include logo.lzss_new
|
||||
|
||||
all: all-recursive
|
||||
|
||||
.SUFFIXES:
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
# 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.
|
||||
$(am__recursive_targets):
|
||||
@fail=; \
|
||||
if $(am__make_keepgoing); then \
|
||||
failcom='fail=yes'; \
|
||||
else \
|
||||
failcom='exit 1'; \
|
||||
fi; \
|
||||
dot_seen=no; \
|
||||
target=`echo $@ | sed s/-recursive//`; \
|
||||
case "$@" in \
|
||||
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
|
||||
*) list='$(SUBDIRS)' ;; \
|
||||
esac; \
|
||||
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; \
|
||||
($(am__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"
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-recursive
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
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 || \
|
||||
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
|
||||
fi; \
|
||||
done; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-recursive
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-recursive
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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 \
|
||||
$(am__make_dryrun) \
|
||||
|| test -d "$(distdir)/$$subdir" \
|
||||
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|
||||
|| exit 1; \
|
||||
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
|
||||
$(am__relativize); \
|
||||
new_distdir=$$reldir; \
|
||||
dir1=$$subdir; dir2="$(top_distdir)"; \
|
||||
$(am__relativize); \
|
||||
new_top_distdir=$$reldir; \
|
||||
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
|
||||
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
|
||||
($(am__cd) $$subdir && \
|
||||
$(MAKE) $(AM_MAKEFLAGS) \
|
||||
top_distdir="$$new_top_distdir" \
|
||||
distdir="$$new_distdir" \
|
||||
am__remove_distdir=: \
|
||||
am__skip_length_check=: \
|
||||
am__skip_mode_fix=: \
|
||||
distdir) \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
check-am: all-am
|
||||
$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
|
||||
$(MAKE) $(AM_MAKEFLAGS) check-local
|
||||
check: check-recursive
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-checkPROGRAMS clean-generic clean-local mostlyclean-am
|
||||
|
||||
distclean: distclean-recursive
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-generic distclean-tags
|
||||
|
||||
dvi: dvi-recursive
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-recursive
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-recursive
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-recursive
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-recursive
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-recursive
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-recursive
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-recursive
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-recursive
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-recursive
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: $(am__recursive_targets) check-am install-am install-strip
|
||||
|
||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
||||
check-am check-local clean clean-checkPROGRAMS clean-generic \
|
||||
clean-local cscopelist-am ctags ctags-am distclean \
|
||||
distclean-generic distclean-tags distdir dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am install-info \
|
||||
install-info-am install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
|
||||
pdf-am ps ps-am tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,986 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/amd64-linux/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) rep_prefix$(EXEEXT) \
|
||||
fldcw_check$(EXEEXT) complex_rep$(EXEEXT) clone_test$(EXEEXT) \
|
||||
$(am__EXEEXT_1)
|
||||
|
||||
# To compile the ll testcase, the compiler needs to support -Xassembler
|
||||
# ICC does not do that
|
||||
am__append_8 = -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
am__append_9 = ll
|
||||
subdir = exp-bbv/tests/amd64-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am__EXEEXT_1 = ll$(EXEEXT)
|
||||
am_clone_test_OBJECTS = clone_test.$(OBJEXT)
|
||||
clone_test_OBJECTS = $(am_clone_test_OBJECTS)
|
||||
clone_test_LDADD = $(LDADD)
|
||||
am_complex_rep_OBJECTS = complex_rep.$(OBJEXT)
|
||||
complex_rep_OBJECTS = $(am_complex_rep_OBJECTS)
|
||||
complex_rep_LDADD = $(LDADD)
|
||||
am_fldcw_check_OBJECTS = fldcw_check.$(OBJEXT)
|
||||
fldcw_check_OBJECTS = $(am_fldcw_check_OBJECTS)
|
||||
fldcw_check_LDADD = $(LDADD)
|
||||
am__ll_SOURCES_DIST = ll.S
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
am_rep_prefix_OBJECTS = rep_prefix.$(OBJEXT)
|
||||
rep_prefix_OBJECTS = $(am_rep_prefix_OBJECTS)
|
||||
rep_prefix_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_$(V))
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(clone_test_SOURCES) $(complex_rep_SOURCES) \
|
||||
$(fldcw_check_SOURCES) $(ll_SOURCES) $(million_SOURCES) \
|
||||
$(rep_prefix_SOURCES)
|
||||
DIST_SOURCES = $(clone_test_SOURCES) $(complex_rep_SOURCES) \
|
||||
$(fldcw_check_SOURCES) $(am__ll_SOURCES_DIST) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS = -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/amd64-linux
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/amd64-linux
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../../
|
||||
top_builddir = ../../..
|
||||
top_srcdir = ../../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding $(am__append_8)
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
ll_SOURCES = ll.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/amd64-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/amd64-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
clone_test$(EXEEXT): $(clone_test_OBJECTS) $(clone_test_DEPENDENCIES) $(EXTRA_clone_test_DEPENDENCIES)
|
||||
@rm -f clone_test$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(clone_test_OBJECTS) $(clone_test_LDADD) $(LIBS)
|
||||
|
||||
complex_rep$(EXEEXT): $(complex_rep_OBJECTS) $(complex_rep_DEPENDENCIES) $(EXTRA_complex_rep_DEPENDENCIES)
|
||||
@rm -f complex_rep$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(complex_rep_OBJECTS) $(complex_rep_LDADD) $(LIBS)
|
||||
|
||||
fldcw_check$(EXEEXT): $(fldcw_check_OBJECTS) $(fldcw_check_DEPENDENCIES) $(EXTRA_fldcw_check_DEPENDENCIES)
|
||||
@rm -f fldcw_check$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fldcw_check_OBJECTS) $(fldcw_check_LDADD) $(LIBS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
rep_prefix$(EXEEXT): $(rep_prefix_OBJECTS) $(rep_prefix_DEPENDENCIES) $(EXTRA_rep_prefix_DEPENDENCIES)
|
||||
@rm -f rep_prefix$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(rep_prefix_OBJECTS) $(rep_prefix_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/clone_test.Po
|
||||
include ./$(DEPDIR)/complex_rep.Po
|
||||
include ./$(DEPDIR)/fldcw_check.Po
|
||||
include ./$(DEPDIR)/ll.Po
|
||||
include ./$(DEPDIR)/million.Po
|
||||
include ./$(DEPDIR)/rep_prefix.Po
|
||||
|
||||
.S.o:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,42 @@
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
|
||||
check_PROGRAMS = \
|
||||
million rep_prefix fldcw_check complex_rep clone_test
|
||||
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
AM_CCASFLAGS += -ffreestanding
|
||||
|
||||
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
|
||||
# To compile the ll testcase, the compiler needs to support -Xassembler
|
||||
# ICC does not do that
|
||||
if !COMPILER_IS_ICC
|
||||
AM_CCASFLAGS += -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
check_PROGRAMS += ll
|
||||
ll_SOURCES = ll.S
|
||||
endif
|
||||
@@ -0,0 +1,986 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) rep_prefix$(EXEEXT) \
|
||||
fldcw_check$(EXEEXT) complex_rep$(EXEEXT) clone_test$(EXEEXT) \
|
||||
$(am__EXEEXT_1)
|
||||
|
||||
# To compile the ll testcase, the compiler needs to support -Xassembler
|
||||
# ICC does not do that
|
||||
@COMPILER_IS_ICC_FALSE@am__append_8 = -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
@COMPILER_IS_ICC_FALSE@am__append_9 = ll
|
||||
subdir = exp-bbv/tests/amd64-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
@COMPILER_IS_ICC_FALSE@am__EXEEXT_1 = ll$(EXEEXT)
|
||||
am_clone_test_OBJECTS = clone_test.$(OBJEXT)
|
||||
clone_test_OBJECTS = $(am_clone_test_OBJECTS)
|
||||
clone_test_LDADD = $(LDADD)
|
||||
am_complex_rep_OBJECTS = complex_rep.$(OBJEXT)
|
||||
complex_rep_OBJECTS = $(am_complex_rep_OBJECTS)
|
||||
complex_rep_LDADD = $(LDADD)
|
||||
am_fldcw_check_OBJECTS = fldcw_check.$(OBJEXT)
|
||||
fldcw_check_OBJECTS = $(am_fldcw_check_OBJECTS)
|
||||
fldcw_check_LDADD = $(LDADD)
|
||||
am__ll_SOURCES_DIST = ll.S
|
||||
@COMPILER_IS_ICC_FALSE@am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
am_rep_prefix_OBJECTS = rep_prefix.$(OBJEXT)
|
||||
rep_prefix_OBJECTS = $(am_rep_prefix_OBJECTS)
|
||||
rep_prefix_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(clone_test_SOURCES) $(complex_rep_SOURCES) \
|
||||
$(fldcw_check_SOURCES) $(ll_SOURCES) $(million_SOURCES) \
|
||||
$(rep_prefix_SOURCES)
|
||||
DIST_SOURCES = $(clone_test_SOURCES) $(complex_rep_SOURCES) \
|
||||
$(fldcw_check_SOURCES) $(am__ll_SOURCES_DIST) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@ -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding $(am__append_8)
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
@COMPILER_IS_ICC_FALSE@ll_SOURCES = ll.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/amd64-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/amd64-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
clone_test$(EXEEXT): $(clone_test_OBJECTS) $(clone_test_DEPENDENCIES) $(EXTRA_clone_test_DEPENDENCIES)
|
||||
@rm -f clone_test$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(clone_test_OBJECTS) $(clone_test_LDADD) $(LIBS)
|
||||
|
||||
complex_rep$(EXEEXT): $(complex_rep_OBJECTS) $(complex_rep_DEPENDENCIES) $(EXTRA_complex_rep_DEPENDENCIES)
|
||||
@rm -f complex_rep$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(complex_rep_OBJECTS) $(complex_rep_LDADD) $(LIBS)
|
||||
|
||||
fldcw_check$(EXEEXT): $(fldcw_check_OBJECTS) $(fldcw_check_DEPENDENCIES) $(EXTRA_fldcw_check_DEPENDENCIES)
|
||||
@rm -f fldcw_check$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fldcw_check_OBJECTS) $(fldcw_check_LDADD) $(LIBS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
rep_prefix$(EXEEXT): $(rep_prefix_OBJECTS) $(rep_prefix_DEPENDENCIES) $(EXTRA_rep_prefix_DEPENDENCIES)
|
||||
@rm -f rep_prefix$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(rep_prefix_OBJECTS) $(rep_prefix_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clone_test.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/complex_rep.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fldcw_check.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ll.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/million.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep_prefix.Po@am__quote@
|
||||
|
||||
.S.o:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,95 @@
|
||||
# count for ~1 million instructions thread 1
|
||||
# count for ~2 million instructions thread 2
|
||||
# count for additional 500 million each before exit
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
||||
#################################################
|
||||
# 1000 cycles in initial thread #
|
||||
#################################################
|
||||
|
||||
xor %rax,%rax
|
||||
mov $499,%rcx # load counter
|
||||
initial_loop:
|
||||
dec %rcx # repeat count times
|
||||
jnz initial_loop
|
||||
|
||||
|
||||
#####################################################
|
||||
# Spawn a thread! #
|
||||
#####################################################
|
||||
clone:
|
||||
mov $56,%rax # clone syscall
|
||||
|
||||
# Note, clone syscall is different than the glibc implementation
|
||||
|
||||
# int clone (flags, stack_pointer,parent_tidptr,child_tidptr,tls)
|
||||
|
||||
|
||||
# Flags in
|
||||
#/usr/include/bits/sched.h
|
||||
# CLONE_THREAD 0x10000
|
||||
# CLONE_SIGHAND 0x800
|
||||
# CLONE_VM 0x100
|
||||
# above must be called together
|
||||
# Below required for Valgrind
|
||||
# CLONE_FS 0x200
|
||||
# CLONE_FILES 0x400
|
||||
|
||||
mov $0x10f00,%rdi
|
||||
|
||||
|
||||
mov $(new_stack+4096),%rsi # new stack
|
||||
|
||||
|
||||
|
||||
mov $0,%rdx # args (none)
|
||||
|
||||
syscall
|
||||
|
||||
cmp $0,%rax # are we in new thread?
|
||||
jz thread2 # if so, jump to thrad2
|
||||
|
||||
|
||||
###############################################
|
||||
# thread1 #
|
||||
###############################################
|
||||
|
||||
thread1:
|
||||
|
||||
mov $499997,%rcx # load counter
|
||||
thread1_loop:
|
||||
dec %rcx # repeat count times
|
||||
jnz thread1_loop
|
||||
|
||||
xor %rdi,%rdi # we return 0
|
||||
jmp exit
|
||||
|
||||
thread2:
|
||||
mov $999997,%rcx # load counter
|
||||
thread2_loop:
|
||||
dec %rcx # repeat count times
|
||||
jnz thread2_loop
|
||||
|
||||
mov $5,%rdi # we return 5
|
||||
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
|
||||
# count an additional 500 million
|
||||
|
||||
mov $250000,%rcx # load counter
|
||||
exit_loop:
|
||||
dec %rcx # repeat count times
|
||||
jnz exit_loop
|
||||
|
||||
actual_exit:
|
||||
mov $60,%rax # put exit syscall number (60) in rax
|
||||
syscall
|
||||
|
||||
.bss
|
||||
.lcomm new_stack,4096
|
||||
@@ -0,0 +1,58 @@
|
||||
T 4 996 5 2 3 98991
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 1001 2 3 98994
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 15 (Interval Size 100000)
|
||||
# Total instructions: 1501007
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
T 2 3 99996
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 99996 4
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 99998 2
|
||||
|
||||
|
||||
# Thread 2
|
||||
# Total intervals: 25 (Interval Size 100000)
|
||||
# Total instructions: 2500001
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# Thread 1
|
||||
# Total intervals: 15 (Interval Size 100000)
|
||||
# Total instructions: 1501007
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
# Thread 2
|
||||
# Total intervals: 25 (Interval Size 100000)
|
||||
# Total instructions: 2500001
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: clone_test
|
||||
vgopts: --interval-size=100000 --bb-out-file=clone_test.out.bb --pc-out-file=clone_test.out.pc
|
||||
post: cat clone_test.out.bb clone_test.out.bb.2 | ../filter_bb
|
||||
cleanup: rm clone_test.out.bb
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
# When trying (and failing) to instrument at the basic block level
|
||||
# I thought up a lot of corner-cases in the rep code. This tries
|
||||
# to catch some of them
|
||||
|
||||
# Performance counters give us 8207 insns
|
||||
# 11 + 8*1024 + 3 = 8206
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
cld # we want these to happen forward
|
||||
|
||||
mov $0xfeb131978,%rax # value to store
|
||||
|
||||
# test back-to-back rep/stosb's
|
||||
|
||||
mov $1024,%rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosb # store 1024 times
|
||||
rep stosb # should store 0 times
|
||||
rep stosb # should store 0 times
|
||||
|
||||
|
||||
# test stosb where cx is 0
|
||||
|
||||
xor %rcx,%rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosb # should not load at all
|
||||
|
||||
# test rep inside of a loop
|
||||
|
||||
mov $1024, %rbx
|
||||
rep_loop:
|
||||
|
||||
mov $1024,%rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosb
|
||||
|
||||
mov $1024,%rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosb
|
||||
|
||||
dec %rbx
|
||||
jnz rep_loop
|
||||
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
mov $60,%rax
|
||||
xor %rdi,%rdi # we return 0
|
||||
syscall # and exit
|
||||
|
||||
|
||||
.bss
|
||||
|
||||
.lcomm buffer1, 16384
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 0 (Interval Size 100000)
|
||||
# Total instructions: 8206
|
||||
# Total reps: 2100228
|
||||
# Unique reps: 2052
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,4 @@
|
||||
prog: complex_rep
|
||||
vgopts: --interval-size=100000 --bb-out-file=complex_rep.out.bb
|
||||
cleanup: rm complex_rep.out.bb
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#! /bin/sh
|
||||
|
||||
../filter_stderr
|
||||
|
||||
@@ -0,0 +1,166 @@
|
||||
|
||||
.globl _start
|
||||
|
||||
_start:
|
||||
# This code tests for the fldcw "load floating point command word"
|
||||
# instruction. On most x86 processors the retired_instruction
|
||||
# performance counter counts this as one instruction. However,
|
||||
# on Pentium 4 systems it counts as two. Therefore this can
|
||||
# affect BBV results on such a system.
|
||||
# fldcw is most often used to set the rouding mode when doing
|
||||
# floating point to integer conversions
|
||||
|
||||
# It is encoded as "d9 /5" which means
|
||||
# 1101 1001 xx10 1yyy
|
||||
# Where xx is the "mod" which will be 00, 01, or 10 indicating offset
|
||||
# and yyy is the register field
|
||||
|
||||
# these are instructions with similar encodings to fldcw
|
||||
# that can cause false positives if the test isn't explicit enough
|
||||
similar:
|
||||
fld1 # d9 e8
|
||||
fldl2t # d9 e9
|
||||
fldl2e # d9 ea
|
||||
fldpi # d9 eb
|
||||
fldlg2 # d9 ec
|
||||
fldln2 # d9 ed
|
||||
fldz # d9 ee
|
||||
|
||||
# check some varied ways of calling fldcw
|
||||
|
||||
# offset on stack
|
||||
stack:
|
||||
sub $8,%rsp # allocate space on stack
|
||||
fnstcw 2(%rsp)
|
||||
fldcw 2(%rsp)
|
||||
add $8,%rsp # restore stack
|
||||
|
||||
# 64-bit register
|
||||
sixtyfour_reg:
|
||||
fnstcw cw
|
||||
mov $cw,%rax
|
||||
fldcw 0(%rax) # rax
|
||||
mov $cw,%rbx
|
||||
fldcw 0(%rbx) # rbx
|
||||
mov $cw,%rcx
|
||||
fldcw 0(%rcx) # rcx
|
||||
mov $cw,%rdx
|
||||
fldcw 0(%rdx) # rdx
|
||||
|
||||
# 32-bit register
|
||||
|
||||
# Note! The assembler that comes with SuSE 9.1
|
||||
# cannot assemble 32-bit fldcw on 64-bit systems
|
||||
# Hence the need to hand-code them
|
||||
|
||||
|
||||
thirtytwo_reg:
|
||||
fnstcw cw
|
||||
mov $cw,%eax
|
||||
|
||||
# fldcw 0(%eax) # eax
|
||||
.byte 0x67,0xd9,0x28
|
||||
|
||||
mov $cw,%ebx
|
||||
|
||||
# fldcw 0(%ebx) # ebx
|
||||
.byte 0x67,0xd9,0x2b
|
||||
|
||||
mov $cw,%ecx
|
||||
|
||||
# fldcw 0(%ecx) # ecx
|
||||
.byte 0x67,0xd9,0x29
|
||||
|
||||
mov $cw,%edx
|
||||
|
||||
# fldcw 0(%edx) # edx
|
||||
.byte 0x67,0xd9,0x2a
|
||||
|
||||
# register + 8-bit offset
|
||||
eight_bit:
|
||||
mov $cw,%eax
|
||||
sub $32,%eax
|
||||
|
||||
# fldcw 32(%eax) # eax + 8 bit offset
|
||||
.byte 0x67,0xd9,0x68,0x20
|
||||
|
||||
mov %eax,%ebx
|
||||
# fldcw 32(%ebx) # ebx + 8 bit offset
|
||||
.byte 0x67,0xd9,0x6b,0x20
|
||||
|
||||
mov %eax,%ecx
|
||||
|
||||
# fldcw 32(%ecx) # ecx + 8 bit offset
|
||||
.byte 0x67,0xd9,0x69,0x20
|
||||
|
||||
mov %eax,%edx
|
||||
|
||||
# fldcw 32(%edx) # edx + 8 bit offset
|
||||
.byte 0x67,0xd9,0x6a,0x20
|
||||
|
||||
|
||||
# register + 32-bit offset
|
||||
thirtytwo_bit:
|
||||
mov $cw,%eax
|
||||
sub $30000,%eax
|
||||
|
||||
# fldcw 30000(%eax) # eax + 16 bit offset
|
||||
.byte 0x67,0xd9,0xa8,0x30,0x75,0x00,0x00
|
||||
|
||||
mov %eax,%ebx
|
||||
|
||||
# fldcw 30000(%ebx) # ebx + 16 bit offset
|
||||
.byte 0x67,0xd9,0xab,0x30,0x75,0x00,0x00
|
||||
|
||||
mov %eax,%ecx
|
||||
|
||||
# fldcw 30000(%ecx) # ecx + 16 bit offset
|
||||
.byte 0x67,0xd9,0xa9,0x30,0x75,0x00,0x00
|
||||
|
||||
mov %eax,%edx
|
||||
|
||||
# fldcw 30000(%edx) # edx + 16 bit offset
|
||||
.byte 0x67,0xd9,0xaa,0x30,0x75,0x00,0x00
|
||||
|
||||
# check an fp/integer conversion
|
||||
# in a loop to give a bigger count
|
||||
|
||||
mov $1024,%rcx
|
||||
big_loop:
|
||||
|
||||
fldl three # load value onto fp stack
|
||||
fnstcw saved_cw # store control word to mem
|
||||
movzwl saved_cw, %eax # load cw from mem, zero extending
|
||||
movb $12, %ah # set cw for "round to zero"
|
||||
movw %ax, cw # store back to memory
|
||||
fldcw cw # save new rounding mode
|
||||
fistpl result # save stack value as integer to mem
|
||||
fldcw saved_cw # restore old cw
|
||||
|
||||
loop big_loop # loop to make the count more obvious
|
||||
|
||||
movl result, %ebx # sanity check to see if the
|
||||
cmp $3,%rbx # result is the expected one
|
||||
je exit
|
||||
|
||||
print_error:
|
||||
mov $1,%rax # write syscall
|
||||
mov $1,%rdi # stdout
|
||||
mov $error,%rsi # string
|
||||
mov $22,%rdx # length of string
|
||||
syscall
|
||||
|
||||
exit:
|
||||
xor %rdi, %rdi # return 0
|
||||
mov $60, %rax # SYSCALL_EXIT
|
||||
syscall
|
||||
|
||||
|
||||
|
||||
.data
|
||||
saved_cw: .long 0
|
||||
cw: .long 0
|
||||
result: .long 0
|
||||
three: .long 0 # a floating point 3.0
|
||||
.long 1074266112
|
||||
error: .asciz "Error! Wrong result!\n"
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 0 (Interval Size 10000)
|
||||
# Total instructions: 9270
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 2053
|
||||
@@ -0,0 +1,4 @@
|
||||
prog: fldcw_check
|
||||
vgopts: --interval-size=10000 --bb-out-file=fldcw_check.out.bb
|
||||
cleanup: rm fldcw_check.out.bb
|
||||
|
||||
@@ -0,0 +1,648 @@
|
||||
#
|
||||
# linux_logo in x86_64 assembly language
|
||||
# based on the code from ll_asm-0.36
|
||||
#
|
||||
# By Vince Weaver <vince _at_ deater.net>
|
||||
#
|
||||
# Modified to remove non-deterministic system calls
|
||||
# And to avoid reading from /proc
|
||||
#
|
||||
|
||||
|
||||
.include "logo.include"
|
||||
|
||||
# offsets into the results returned by the uname syscall
|
||||
.equ U_SYSNAME,0
|
||||
.equ U_NODENAME,65
|
||||
.equ U_RELEASE,65*2
|
||||
.equ U_VERSION,(65*3)
|
||||
.equ U_MACHINE,(65*4)
|
||||
.equ U_DOMAINNAME,65*5
|
||||
|
||||
# offset into the results returned by the sysinfo syscall
|
||||
.equ S_TOTALRAM,32
|
||||
|
||||
# Sycscalls
|
||||
.equ SYSCALL_EXIT, 60
|
||||
.equ SYSCALL_READ, 0
|
||||
.equ SYSCALL_WRITE, 1
|
||||
.equ SYSCALL_OPEN, 2
|
||||
.equ SYSCALL_CLOSE, 3
|
||||
.equ SYSCALL_SYSINFO, 99
|
||||
.equ SYSCALL_UNAME, 63
|
||||
|
||||
#
|
||||
.equ STDIN,0
|
||||
.equ STDOUT,1
|
||||
.equ STDERR,2
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
#=========================
|
||||
# PRINT LOGO
|
||||
#=========================
|
||||
|
||||
# LZSS decompression algorithm implementation
|
||||
# by Stephan Walter 2002, based on LZSS.C by Haruhiko Okumura 1989
|
||||
# optimized some more by Vince Weaver
|
||||
|
||||
# we used to fill the buffer with FREQUENT_CHAR
|
||||
# but, that only gains us one byte of space in the lzss image.
|
||||
# the lzss algorithm does automatic RLE... pretty clever
|
||||
# so we compress with NUL as FREQUENT_CHAR and it is pre-done for us
|
||||
|
||||
mov $(N-F), %ebp # R
|
||||
|
||||
mov $logo, %esi # %esi points to logo (for lodsb)
|
||||
|
||||
mov $out_buffer, %edi # point to out_buffer
|
||||
push %rdi # save this value for later
|
||||
|
||||
xor %ecx, %ecx
|
||||
|
||||
decompression_loop:
|
||||
lodsb # load in a byte
|
||||
|
||||
mov $0xff, %bh # re-load top as a hackish 8-bit counter
|
||||
mov %al, %bl # move in the flags
|
||||
|
||||
test_flags:
|
||||
cmp $logo_end, %esi # have we reached the end?
|
||||
je done_logo # ! if so, exit
|
||||
|
||||
shr $1, %ebx # shift bottom bit into carry flag
|
||||
jc discrete_char # ! if set, we jump to discrete char
|
||||
|
||||
offset_length:
|
||||
lodsw # get match_length and match_position
|
||||
mov %eax,%edx # copy to edx
|
||||
# no need to mask dx, as we do it
|
||||
# by default in output_loop
|
||||
|
||||
shr $(P_BITS),%eax
|
||||
add $(THRESHOLD+1),%al
|
||||
mov %al,%cl # cl = (ax >> P_BITS) + THRESHOLD + 1
|
||||
# (=match_length)
|
||||
|
||||
output_loop:
|
||||
and $POSITION_MASK,%dh # mask it
|
||||
mov text_buf(%rdx), %al # load byte from text_buf[]
|
||||
inc %edx # advance pointer in text_buf
|
||||
store_byte:
|
||||
stosb # store it
|
||||
|
||||
mov %al, text_buf(%rbp) # store also to text_buf[r]
|
||||
inc %ebp # r++
|
||||
and $(N-1), %bp # mask r
|
||||
|
||||
loop output_loop # repeat until k>j
|
||||
|
||||
or %bh,%bh # ! if 0 we shifted through 8 and must
|
||||
jnz test_flags # re-load flags
|
||||
|
||||
jmp decompression_loop
|
||||
|
||||
discrete_char:
|
||||
lodsb # load a byte
|
||||
inc %ecx # we set ecx to one so byte
|
||||
# will be output once
|
||||
# (how do we know ecx is zero?)
|
||||
|
||||
jmp store_byte # and cleverly store it
|
||||
|
||||
|
||||
# end of LZSS code
|
||||
|
||||
done_logo:
|
||||
|
||||
pop %rbp # get out_buffer and keep in bp
|
||||
mov %ebp,%ecx # move out_buffer to ecx
|
||||
|
||||
call write_stdout # print the logo
|
||||
|
||||
#
|
||||
# Setup
|
||||
#
|
||||
setup:
|
||||
mov $strcat,%edx # use rdx as call pointer (smaller op)
|
||||
|
||||
|
||||
#==========================
|
||||
# PRINT VERSION
|
||||
#==========================
|
||||
|
||||
# push $SYSCALL_UNAME # uname syscall
|
||||
# pop %rax # in 3 bytes
|
||||
mov $uname_info,%edi # uname struct (0 extend address)
|
||||
# syscall # do syscall
|
||||
|
||||
mov %ebp,%edi # point %edi to out_buffer
|
||||
|
||||
mov $(uname_info+U_SYSNAME),%esi # os-name from uname "Linux"
|
||||
call *%rdx # call strcat
|
||||
|
||||
mov $ver_string,%esi # source is " Version "
|
||||
call *%rdx # call strcat
|
||||
push %rsi # save our .txt pointer
|
||||
|
||||
mov $(uname_info+U_RELEASE),%esi # version from uname "2.4.1"
|
||||
call *%rdx # call strcat
|
||||
|
||||
pop %rsi # restore .txt pointer
|
||||
# source is ", Compiled "
|
||||
call *%rdx # call strcat
|
||||
push %rsi # store for later
|
||||
|
||||
mov $(uname_info+U_VERSION),%esi # compiled date
|
||||
call *%rdx # call strcat
|
||||
|
||||
mov %ebp,%ecx # move out_buffer to ecx
|
||||
|
||||
mov $0xa,%ax # store linefeed on end
|
||||
stosw # and zero
|
||||
|
||||
call *%rdx # call strcat
|
||||
|
||||
call center_and_print # center and print
|
||||
|
||||
#===============================
|
||||
# Middle-Line
|
||||
#===============================
|
||||
middle_line:
|
||||
#=========
|
||||
# Load /proc/cpuinfo into buffer
|
||||
#=========
|
||||
|
||||
push %rdx # save call pointer
|
||||
|
||||
# push $SYSCALL_OPEN # load 5 [ open() ]
|
||||
# pop %rax # in 3 bytes
|
||||
|
||||
# mov $cpuinfo,%edi # '/proc/cpuinfo'
|
||||
# xor %esi,%esi # 0 = O_RDONLY <bits/fcntl.h>
|
||||
# cdq # clear edx in clever way
|
||||
# syscall # syscall. fd in eax.
|
||||
# we should check that eax>=0
|
||||
|
||||
# mov %eax,%edi # save our fd
|
||||
|
||||
# xor %eax,%eax # SYSCALL_READ make== 0
|
||||
|
||||
mov $disk_buffer,%esi
|
||||
|
||||
# mov $16,%dh # 4096 is maximum size of proc file #)
|
||||
# we load sneakily by knowing
|
||||
# 16<<8 = 4096. be sure edx clear
|
||||
|
||||
# syscall
|
||||
|
||||
# push $SYSCALL_CLOSE # close (to be correct)
|
||||
# pop %rax
|
||||
# syscall
|
||||
|
||||
#=============
|
||||
# Number of CPUs
|
||||
#=============
|
||||
number_of_cpus:
|
||||
|
||||
xor %ebx,%ebx # chip count
|
||||
|
||||
# $disk_buffer still in %rsi
|
||||
bogo_loop:
|
||||
mov (%rsi), %eax # load 4 bytes into eax
|
||||
inc %esi # increment pointer
|
||||
|
||||
cmp $0,%al # check for end of file
|
||||
je done_bogo
|
||||
|
||||
# Grrr, due to a bug in binutils 2.18.50.0.9
|
||||
# (which unfortunately shipped with Fedora 10)
|
||||
# http://sourceware.org/bugzilla/show_bug.cgi?id=6878
|
||||
# We can't use the apostrophe character
|
||||
|
||||
# cmp $('o'<<24+'g'<<16+'o'<<8+'b'),%eax
|
||||
cmp $(0x6f<<24+0x67<<16+0x6f<<8+0x62),%eax
|
||||
# "bogo" in little-endian
|
||||
|
||||
jne bogo_loop # ! if not equal, keep going
|
||||
add $2,%ebx # otherwise, we have a bogo
|
||||
# 2 times too for future magic
|
||||
jmp bogo_loop
|
||||
|
||||
done_bogo:
|
||||
lea one-6(%rbx,%rbx,2), %esi
|
||||
# Load into esi
|
||||
# [one]+(num_cpus*6)
|
||||
#
|
||||
# the above multiplies by three
|
||||
# esi = (ebx+(ebx*2))
|
||||
# and we double-incremented ebx
|
||||
# earlier
|
||||
|
||||
mov %ebp,%edi # move output buffer to edi
|
||||
|
||||
pop %rdx # restore call pointer
|
||||
call *%rdx # copy it (call strcat)
|
||||
|
||||
# mov $' ',%al # print a space
|
||||
mov $0x20,%al # print a space
|
||||
|
||||
stosb
|
||||
|
||||
push %rbx
|
||||
push %rdx # store strcat pointer
|
||||
|
||||
#=========
|
||||
# MHz
|
||||
#=========
|
||||
print_mhz:
|
||||
# mov $('z'<<24+'H'<<16+'M'<<8+' '),%ebx
|
||||
mov $(0x7a<<24+0x48<<16+0x4d<<8+0x20),%ebx
|
||||
# find ' MHz' and grab up to .
|
||||
# we are little endian
|
||||
# mov $'.',%ah
|
||||
mov $0x2e,%ah
|
||||
|
||||
# below is same as "sub $(strcat-find_string),%edx
|
||||
# gas won't let us force the one-byte constant
|
||||
.byte 0x83,0xEA,strcat-find_string
|
||||
|
||||
call *%rdx # call find string
|
||||
|
||||
mov %ebx,%eax # clever way to get MHz in, sadly
|
||||
ror $8,%eax # not any smaller than a mov
|
||||
stosl
|
||||
|
||||
#=========
|
||||
# Chip Name
|
||||
#=========
|
||||
chip_name:
|
||||
# mov $('e'<<24+'m'<<16+'a'<<8+'n'),%ebx
|
||||
mov $(0x65<<24+0x6d<<16+0x61<<8+0x6e),%ebx
|
||||
# find 'name\t: ' and grab up to \n
|
||||
# we are little endian
|
||||
# mov $' ',%ah
|
||||
mov $0x20,%ah
|
||||
call *%rdx # call find_string
|
||||
stosb
|
||||
call skip_spaces
|
||||
|
||||
pop %rdx
|
||||
pop %rbx # restore chip count
|
||||
pop %rsi
|
||||
|
||||
call *%rdx # ' Processor'
|
||||
cmpb $2,%bl
|
||||
jne print_s
|
||||
inc %rsi # ! if singular, skip the s
|
||||
print_s:
|
||||
call *%rdx # 's, '
|
||||
|
||||
push %rsi # restore the values
|
||||
push %rdx
|
||||
|
||||
#========
|
||||
# RAM
|
||||
#========
|
||||
|
||||
# push %rdi
|
||||
# push $SYSCALL_SYSINFO # sysinfo() syscall
|
||||
# pop %rax
|
||||
# mov $sysinfo_buff,%edi
|
||||
# syscall
|
||||
# pop %rdi
|
||||
|
||||
# The following has to be a 64 bit load, to support
|
||||
# Ram > 4GB
|
||||
mov (sysinfo_buff+S_TOTALRAM),%rax # size in bytes of RAM
|
||||
shr $20,%rax # divide by 1024*1024 to get M
|
||||
adc $0, %eax # round
|
||||
|
||||
call num_to_ascii
|
||||
|
||||
pop %rdx # restore strcat pointer
|
||||
|
||||
pop %rsi # print 'M RAM, '
|
||||
call *%rdx # call strcat
|
||||
|
||||
push %rsi
|
||||
|
||||
#========
|
||||
# Bogomips
|
||||
#========
|
||||
|
||||
# mov $('s'<<24+'p'<<16+'i'<<8+'m'),%ebx
|
||||
mov $(0x73<<24+0x70<<16+0x69<<8+0x6d),%ebx
|
||||
# find 'mips\t: ' and grab up to \n
|
||||
mov $0xa,%ah
|
||||
call find_string
|
||||
|
||||
pop %rsi # bogo total follows RAM
|
||||
|
||||
call *%rdx # call strcat
|
||||
|
||||
push %rsi
|
||||
|
||||
mov %ebp,%ecx # point ecx to out_buffer
|
||||
|
||||
push %rcx
|
||||
call center_and_print # center and print
|
||||
|
||||
#=================================
|
||||
# Print Host Name
|
||||
#=================================
|
||||
last_line:
|
||||
mov %ebp,%edi # point to output_buffer
|
||||
|
||||
mov $(uname_info+U_NODENAME),%esi # host name from uname()
|
||||
call *%rdx # call strcat
|
||||
|
||||
pop %rcx # ecx is unchanged
|
||||
call center_and_print # center and print
|
||||
|
||||
pop %rcx # (.txt) pointer to default_colors
|
||||
|
||||
call write_stdout
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
push $SYSCALL_EXIT # Put exit syscall in rax
|
||||
pop %rax
|
||||
|
||||
xor %edi,%edi # Make return value $0
|
||||
syscall
|
||||
|
||||
|
||||
#=================================
|
||||
# FIND_STRING
|
||||
#=================================
|
||||
# ah is char to end at
|
||||
# ebx is 4-char ascii string to look for
|
||||
# edi points at output buffer
|
||||
|
||||
find_string:
|
||||
|
||||
mov $disk_buffer-1,%esi # look in cpuinfo buffer
|
||||
find_loop:
|
||||
inc %esi
|
||||
cmpb $0, (%rsi) # are we at EOF?
|
||||
je done # ! if so, done
|
||||
|
||||
cmp (%rsi), %ebx # do the strings match?
|
||||
jne find_loop # ! if not, loop
|
||||
|
||||
# ! if we get this far, we matched
|
||||
|
||||
find_colon:
|
||||
lodsb # repeat till we find colon
|
||||
cmp $0,%al
|
||||
je done
|
||||
# cmp $':',%al
|
||||
cmp $0x3a,%al
|
||||
jne find_colon
|
||||
|
||||
skip_spaces:
|
||||
lodsb # skip spaces
|
||||
cmp $0x20,%al # Loser new intel chips have lots??
|
||||
je skip_spaces
|
||||
|
||||
store_loop:
|
||||
cmp $0,%al
|
||||
je done
|
||||
cmp %ah,%al # is it end string?
|
||||
je almost_done # ! if so, finish
|
||||
# cmp $'\n',%al
|
||||
cmp $0xa,%al
|
||||
je almost_done
|
||||
stosb # ! if not store and continue
|
||||
lodsb
|
||||
|
||||
jmp store_loop
|
||||
|
||||
almost_done:
|
||||
movb $0, (%rdi) # replace last value with NUL
|
||||
done:
|
||||
ret
|
||||
|
||||
|
||||
#================================
|
||||
# strcat
|
||||
#================================
|
||||
|
||||
strcat:
|
||||
lodsb # load a byte from [ds:esi]
|
||||
stosb # store a byte to [es:edi]
|
||||
cmp $0,%al # is it zero?
|
||||
jne strcat # ! if not loop
|
||||
dec %edi # point to one less than null
|
||||
ret # return
|
||||
|
||||
#==============================
|
||||
# center_and_print
|
||||
#==============================
|
||||
# string to center in ecx
|
||||
|
||||
center_and_print:
|
||||
push %rdx # save strcat pointer
|
||||
push %rcx # save the string pointer
|
||||
inc %edi # move to a clear buffer
|
||||
push %rdi # save for later
|
||||
|
||||
# mov $('['<<8+27),%ax # we want to output ^[[
|
||||
mov $(0x5b<<8+27),%ax # we want to output ^[[
|
||||
stosw
|
||||
|
||||
cdq # clear dx
|
||||
|
||||
str_loop2: # find end of string
|
||||
inc %edx
|
||||
cmpb $0,(%rcx,%rdx) # repeat till we find zero
|
||||
jne str_loop2
|
||||
|
||||
push $81 # one added to cheat, we don't
|
||||
# count the trailing '\n'
|
||||
pop %rax
|
||||
|
||||
cmp %eax,%edx # see if we are >=80
|
||||
jl not_too_big # ! if so, don't center
|
||||
push $80
|
||||
pop %rdx
|
||||
|
||||
not_too_big:
|
||||
sub %edx,%eax # subtract size from 80
|
||||
|
||||
shr %eax # then divide by 2
|
||||
|
||||
call num_to_ascii # print number of spaces
|
||||
# mov $'C',%al # tack a 'C' on the end
|
||||
mov $0x43,%al # tack a 'C' on the end
|
||||
# ah is zero from num_to_ascii
|
||||
stosw # store C and a NULL
|
||||
pop %rcx # pop the pointer to ^[[xC
|
||||
|
||||
call write_stdout # write to the screen
|
||||
|
||||
done_center:
|
||||
pop %rcx # restore string pointer
|
||||
# and trickily print the real string
|
||||
|
||||
pop %rdx # restore strcat pointer
|
||||
|
||||
#================================
|
||||
# WRITE_STDOUT
|
||||
#================================
|
||||
# ecx has string
|
||||
# eax,ebx,ecx,edx trashed
|
||||
write_stdout:
|
||||
push %rdx
|
||||
push $SYSCALL_WRITE # put 4 in eax (write syscall)
|
||||
pop %rax # in 3 bytes of code
|
||||
|
||||
cdq # clear edx
|
||||
|
||||
lea 1(%rdx),%edi # put 1 in ebx (stdout)
|
||||
# in 3 bytes of code
|
||||
|
||||
mov %ecx,%esi
|
||||
|
||||
str_loop1:
|
||||
inc %edx
|
||||
cmpb $0,(%rcx,%rdx) # repeat till zero
|
||||
jne str_loop1
|
||||
|
||||
syscall # run the syscall
|
||||
pop %rdx
|
||||
ret
|
||||
|
||||
##############################
|
||||
# num_to_ascii
|
||||
##############################
|
||||
# ax = value to print
|
||||
# edi points to where we want it
|
||||
|
||||
num_to_ascii:
|
||||
push $10
|
||||
pop %rbx
|
||||
xor %ecx,%ecx # clear ecx
|
||||
div_by_10:
|
||||
cdq # clear edx
|
||||
div %ebx # divide
|
||||
push %rdx # save for later
|
||||
inc %ecx # add to length counter
|
||||
or %eax,%eax # was Q zero?
|
||||
jnz div_by_10 # ! if not divide again
|
||||
|
||||
write_out:
|
||||
pop %rax # restore in reverse order
|
||||
add $0x30, %al # convert to ASCII
|
||||
stosb # save digit
|
||||
loop write_out # loop till done
|
||||
ret
|
||||
|
||||
#===========================================================================
|
||||
# section .data
|
||||
#===========================================================================
|
||||
.data
|
||||
|
||||
ver_string: .ascii " Version \0"
|
||||
compiled_string: .ascii ", Compiled \0"
|
||||
processor: .ascii " Processor\0"
|
||||
s_comma: .ascii "s, \0"
|
||||
ram_comma: .ascii "M RAM, \0"
|
||||
bogo_total: .ascii " Bogomips Total\n\0"
|
||||
|
||||
default_colors: .ascii "\033[0m\n\n\0"
|
||||
|
||||
cpuinfo: .ascii "/proc/cpuinfo\0"
|
||||
|
||||
|
||||
one: .ascii "One\0\0\0"
|
||||
two: .ascii "Two\0\0\0"
|
||||
three: .ascii "Three\0"
|
||||
four: .ascii "Four\0"
|
||||
|
||||
.include "logo.lzss_new"
|
||||
|
||||
disk_buffer:
|
||||
.ascii "processor : 0\n"
|
||||
.ascii "vendor_id : GenuineIntel\n"
|
||||
.ascii "cpu family : 15\n"
|
||||
.ascii "model : 6\n"
|
||||
.ascii "model name : Intel(R) Xeon(TM) CPU 3.46GHz\n"
|
||||
.ascii "stepping : 4\n"
|
||||
.ascii "cpu MHz : 3200.000\n"
|
||||
.ascii "cache size : 2048 KB\n"
|
||||
.ascii "physical id : 0\n"
|
||||
.ascii "siblings : 2\n"
|
||||
.ascii "core id : 0\n"
|
||||
.ascii "cpu cores : 2\n"
|
||||
.ascii "apicid : 0\n"
|
||||
.ascii "initial apicid : 0\n"
|
||||
.ascii "fpu : yes\n"
|
||||
.ascii "fpu_exception : yes\n"
|
||||
.ascii "cpuid level : 6\n"
|
||||
.ascii "wp : yes\n"
|
||||
.ascii "flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl vmx est cid cx16 xtpr pdcm lahf_lm tpr_shadow\n"
|
||||
.ascii "bogomips : 6934.38\n"
|
||||
.ascii "clflush size : 64\n"
|
||||
.ascii "cache_alignment : 128\n"
|
||||
.ascii "address sizes : 36 bits physical, 48 bits virtual\n"
|
||||
.ascii "power management:\n"
|
||||
.ascii "\n"
|
||||
.ascii "processor : 1\n"
|
||||
.ascii "vendor_id : GenuineIntel\n"
|
||||
.ascii "cpu family : 15\n"
|
||||
.ascii "model : 6\n"
|
||||
.ascii "model name : Intel(R) Xeon(TM) CPU 3.46GHz\n"
|
||||
.ascii "stepping : 4\n"
|
||||
.ascii "cpu MHz : 3200.000\n"
|
||||
.ascii "cache size : 2048 KB\n"
|
||||
.ascii "physical id : 1\n"
|
||||
.ascii "siblings : 2\n"
|
||||
.ascii "core id : 0\n"
|
||||
.ascii "cpu cores : 2\n"
|
||||
.ascii "apicid : 4\n"
|
||||
.ascii "initial apicid : 4\n"
|
||||
.ascii "fpu : yes\n"
|
||||
.ascii "fpu_exception : yes\n"
|
||||
.ascii "cpuid level : 6\n"
|
||||
.ascii "wp : yes\n"
|
||||
.ascii "flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc pebs bts pni dtes64 monitor ds_cpl vmx est cid cx16 xtpr pdcm lahf_lm tpr_shadow\n"
|
||||
.ascii "bogomips : 6934.13\n"
|
||||
.ascii "clflush size : 64\n"
|
||||
.ascii "cache_alignment : 128\n"
|
||||
.ascii "address sizes : 36 bits physical, 48 bits virtual\n"
|
||||
.ascii "power management:\n\0"
|
||||
|
||||
uname_info:
|
||||
.ascii "Linux\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "domori\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "2.6.29\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "#1 SMP Mon May 4 09:51:54 EDT 2009\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
sysinfo_buff:
|
||||
.long 0,0,0,0,0,0,0,0,2048*1024*1024,0,0,0,0,0,0,0
|
||||
|
||||
|
||||
#============================================================================
|
||||
# section .bss
|
||||
#============================================================================
|
||||
.bss
|
||||
|
||||
.lcomm text_buf, (N+F-1)
|
||||
.lcomm out_buffer,16384
|
||||
@@ -0,0 +1,54 @@
|
||||
T:1:10 :7:10 :5:38 :2:44 :8:65 :9:662 :4:119 :6:2 :3:51
|
||||
T:7:5 :5:16 :2:18 :8:52 :9:858 :4:35 :6:1 :3:15
|
||||
T:7:5 :5:16 :2:18 :8:52 :9:858 :4:35 :6:1 :3:15
|
||||
T:7:5 :5:14 :2:16 :8:91 :9:863 :4:7 :6:1 :3:3
|
||||
T:7:5 :5:12 :2:14 :8:78 :9:880 :4:7 :6:1 :3:3
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:7:5 :5:10 :2:10 :8:65 :9:909 :6:1
|
||||
T:7:5 :5:14 :2:18 :8:117 :9:845 :6:1
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:8 :2:10 :8:65 :9:911 :6:1
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:5:6 :2:6 :8:39 :9:949
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:5:4 :2:4 :8:26 :9:966
|
||||
T:7:5 :5:12 :2:14 :8:78 :9:880 :4:7 :6:1 :3:3
|
||||
T:5:6 :2:6 :8:39 :9:949
|
||||
T:7:5 :5:8 :2:10 :8:65 :9:911 :6:1
|
||||
T:7:5 :5:14 :2:16 :8:91 :9:863 :4:7 :6:1 :3:3
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:10 :2:12 :8:78 :9:894 :6:1
|
||||
T:7:5 :5:10 :2:12 :8:74 :9:898 :6:1
|
||||
T:5:12 :2:12 :8:82 :9:894
|
||||
T:7:5 :5:8 :2:8 :8:39 :9:390 :4:7 :6:1 :3:3 :10:3 :11:9 :12:527
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:15:5 :18:2 :19:3 :20:2 :21:3 :22:4 :16:281 :17:10 :12:687 :13:1 :14:2
|
||||
T:23:1 :32:7 :34:351 :33:176 :16:3 :17:2 :24:10 :25:195 :26:4 :27:3 :30:4 :31:11 :11:9 :12:204 :13:2 :14:4 :28:9 :29:5
|
||||
T:34:666 :33:334
|
||||
T:34:667 :33:333
|
||||
T:34:665 :33:333 :35:2
|
||||
T:34:667 :33:333
|
||||
T:34:667 :33:333
|
||||
T:34:666 :33:334
|
||||
T:34:666 :33:332 :35:2
|
||||
T:34:357 :33:178 :36:4 :37:8 :38:4 :40:258 :39:173 :16:16 :17:2
|
||||
T:49:6 :50:2 :51:4 :52:2 :53:1 :54:6 :56:3 :38:4 :40:333 :39:225 :41:39 :42:26 :43:15 :44:46 :45:46 :46:40 :47:60 :48:6 :16:88 :17:4 :28:9 :55:18 :29:17
|
||||
T:57:4 :38:4 :40:591 :39:395 :16:4 :17:2
|
||||
T:40:600 :39:400
|
||||
T:58:2 :59:4 :40:453 :39:303 :41:18 :42:12 :43:6 :44:16 :45:16 :46:14 :47:21 :48:2 :16:68 :17:2 :24:10 :25:53
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 45 (Interval Size 1000)
|
||||
# Total instructions: 45639
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 45 (Interval Size 1000)
|
||||
# Total instructions: 45639
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,17 @@
|
||||
[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
|
||||
[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
|
||||
[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
|
||||
|
||||
[7CLinux Version 2.6.29, Compiled #1 SMP Mon May 4 09:51:54 EDT 2009
|
||||
[2CTwo 3200MHz Intel(R) Xeon(TM) Processors, 2048M RAM, 6934.38 Bogomips Total
|
||||
[37Cdomori[0m
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
prog: ll
|
||||
prereq: test -x ll
|
||||
vgopts: --interval-size=1000 --bb-out-file=ll.out.bb
|
||||
post: cat ll.out.bb
|
||||
cleanup: rm ll.out.bb
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
|
||||
# count for 1 million instructions
|
||||
# total is 2 + 1 + 499997*2 + 3
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
xor %rcx,%rcx # not needed, pads total to 1M
|
||||
xor %rax,%rax # not needed, pads total to 1M
|
||||
|
||||
mov $499997,%rcx # load counter
|
||||
test_loop:
|
||||
dec %rcx # repeat count times
|
||||
jnz test_loop
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
xor %rdi,%rdi # we return 0
|
||||
mov $60,%rax # put exit syscall number (60) in rax
|
||||
syscall
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
T:1:5 :2:99996
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: million
|
||||
vgopts: --interval-size=100000 --bb-out-file=million.out.bb
|
||||
post: cat million.out.bb
|
||||
cleanup: rm million.out.bb
|
||||
|
||||
@@ -0,0 +1,347 @@
|
||||
#
|
||||
# rep, repe (repz) and repne (repnz) prefixed string instructions
|
||||
# only count as one instruction, even though they repeat many times
|
||||
# This test makes sure the bbv plugin counts these instructions properly
|
||||
# The answer is validated to hw perf counters.
|
||||
#
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
cld # we want these to happen forward
|
||||
|
||||
|
||||
#===============================================
|
||||
# Some SSE2 instructions start with 0xf2 or 0xf3
|
||||
# Check for them, to make sure our rep detection
|
||||
# handles things properly.
|
||||
# We should check this on x86 too, but then we'd
|
||||
# have to check for SSE2 capability somehow?
|
||||
#===================================
|
||||
false_positives:
|
||||
|
||||
movdqu %xmm1,%xmm2
|
||||
movdqu %xmm2,%xmm1
|
||||
addsd %xmm1,%xmm2
|
||||
pause
|
||||
|
||||
#===================================
|
||||
# Check varied order of the size prefix
|
||||
# with the rep prefix. Older binutils
|
||||
# did this one way, newer binutils the other
|
||||
#===================================
|
||||
|
||||
size_prefix:
|
||||
# test 16-bit load
|
||||
|
||||
mov $8192, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
.byte 0x66, 0xf3, 0xad # lodsw
|
||||
|
||||
mov $8192, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
.byte 0xf3, 0x66, 0xad # lodsw
|
||||
|
||||
|
||||
|
||||
|
||||
#===================================
|
||||
# Load and Store Instructions
|
||||
#===================================
|
||||
loadstore:
|
||||
xor %rax, %rax
|
||||
mov $0xd, %al # set eax to d
|
||||
|
||||
# test 8-bit store
|
||||
|
||||
mov $16384, %rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosb # store d 16384 times, auto-increment
|
||||
|
||||
# test 8-bit load
|
||||
|
||||
mov $16384, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
rep lodsb # load byte 16384 times, auto-increment
|
||||
|
||||
cmp $0xd,%al # if we loaded wrong value
|
||||
jne print_error # print an error
|
||||
|
||||
# test 16-bit store
|
||||
|
||||
mov $0x020d,%ax # store 0x020d
|
||||
|
||||
mov $8192, %rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosw # store 8192 times, auto-increment
|
||||
|
||||
# test 16-bit load
|
||||
|
||||
mov $8192, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
rep lodsw # load 8192 times, auto-increment
|
||||
|
||||
cmp $0x020d,%ax # if we loaded wrong value
|
||||
jne print_error # print an error
|
||||
|
||||
# test 32-bit store
|
||||
|
||||
mov $0x0feb1378,%eax # store 0x0feb1378
|
||||
|
||||
mov $4096, %rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosl # store 4096 times, auto-increment
|
||||
|
||||
# test 32-bit load
|
||||
|
||||
mov $4096, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
rep lodsl # load 4096 times, auto-increment
|
||||
|
||||
cmp $0x0feb1378,%eax # if we loaded wrong value
|
||||
jne print_error # print an error
|
||||
|
||||
# test 64-bit store
|
||||
|
||||
mov $0xfeb131978a5a5a5a,%rax
|
||||
|
||||
mov $2048, %rcx
|
||||
mov $buffer1, %rdi # set destination
|
||||
rep stosq # store 2048 times, auto-increment
|
||||
|
||||
# test 64-bit load
|
||||
|
||||
mov $2048, %rcx
|
||||
mov $buffer1, %rsi # set source
|
||||
rep lodsq # load 2048 times, auto-increment
|
||||
|
||||
cmp $0x8a5a5a5a,%eax
|
||||
# !if we loaded wrong value
|
||||
jne print_error # print an error
|
||||
|
||||
|
||||
#=============================
|
||||
# Move instructions
|
||||
#=============================
|
||||
moves:
|
||||
# test 8-bit move
|
||||
|
||||
mov $16384, %rcx
|
||||
mov $buffer1, %rsi
|
||||
mov $buffer2, %rdi
|
||||
rep movsb
|
||||
|
||||
# test 16-bit move
|
||||
|
||||
mov $8192, %rcx
|
||||
mov $buffer2, %rsi
|
||||
mov $buffer1, %rdi
|
||||
rep movsw
|
||||
|
||||
# test 32-bit move
|
||||
|
||||
mov $4096, %rcx
|
||||
mov $buffer1, %rsi
|
||||
mov $buffer2, %rdi
|
||||
rep movsl
|
||||
|
||||
# test 64-bit move
|
||||
|
||||
mov $2048, %rcx
|
||||
mov $buffer1, %rsi
|
||||
mov $buffer2, %rdi
|
||||
rep movsq
|
||||
|
||||
|
||||
#==================================
|
||||
# Compare equal instructions
|
||||
#==================================
|
||||
compare_equal:
|
||||
# first set up the areas to compare
|
||||
|
||||
mov $0xa5a5a5a5,%eax
|
||||
mov $buffer1, %rdi
|
||||
mov $4096, %rcx
|
||||
rep stosl
|
||||
|
||||
mov $0xa5a5a5a5,%eax
|
||||
mov $buffer2, %rdi
|
||||
mov $4096, %rcx
|
||||
rep stosl
|
||||
|
||||
|
||||
# test 8-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $16384, %rcx
|
||||
repe cmpsb
|
||||
jnz print_error
|
||||
|
||||
# test 16-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $8192, %rcx
|
||||
repe cmpsw
|
||||
jnz print_error
|
||||
|
||||
# test 32-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $4096, %rcx
|
||||
repe cmpsl
|
||||
jnz print_error
|
||||
|
||||
# test 64-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $2048, %rcx
|
||||
repe cmpsq
|
||||
jnz print_error
|
||||
|
||||
|
||||
|
||||
#==================================
|
||||
# Compare not equal instructions
|
||||
#==================================
|
||||
compare_noteq:
|
||||
# change second buffer
|
||||
|
||||
mov $0x5a5a5a5a,%eax
|
||||
mov $buffer2, %rdi
|
||||
mov $4096, %rcx
|
||||
rep stosl
|
||||
|
||||
# test 8-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $16384, %rcx
|
||||
# repne cmpsb FIXME! Not implemented valgrind
|
||||
# je print_error
|
||||
|
||||
# test 16-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $8192, %rcx
|
||||
# repne cmpsw FIXME! Not implemented valgrind
|
||||
# je print_error
|
||||
|
||||
# test 32-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $4096, %rcx
|
||||
# repne cmpsl FIXME! Not implemented valgrind
|
||||
# je print_error
|
||||
|
||||
# test 64-bit
|
||||
|
||||
mov $buffer1,%rsi
|
||||
mov $buffer2,%rdi
|
||||
mov $2048, %rcx
|
||||
# repne cmpsq FIXME! Not implemented valgrind
|
||||
# je print_error
|
||||
|
||||
#====================================
|
||||
# Check scan equal instruction
|
||||
#====================================
|
||||
scan_eq:
|
||||
# test 8-bit
|
||||
|
||||
mov $0xa5,%al
|
||||
mov $buffer1,%rdi
|
||||
mov $16384, %rcx
|
||||
repe scasb
|
||||
jnz print_error
|
||||
|
||||
# test 16-bit
|
||||
|
||||
mov $0xa5a5,%ax
|
||||
mov $buffer1,%rdi
|
||||
mov $8192, %rcx
|
||||
repe scasw
|
||||
jnz print_error
|
||||
|
||||
# test 32-bit
|
||||
|
||||
mov $0xa5a5a5a5,%eax
|
||||
mov $buffer1,%rdi
|
||||
mov $4096, %rcx
|
||||
repe scasl
|
||||
jnz print_error
|
||||
|
||||
# test 64-bit
|
||||
|
||||
mov $0xa5a5a5a5a5a5a5a5,%rax
|
||||
mov $buffer1,%rdi
|
||||
mov $2048, %rcx
|
||||
repe scasq
|
||||
jnz print_error
|
||||
|
||||
|
||||
#====================================
|
||||
# Check scan not-equal instruction
|
||||
#====================================
|
||||
|
||||
# test 8-bit
|
||||
scan_ne:
|
||||
mov $0xa5,%al
|
||||
mov $buffer2,%rdi
|
||||
mov $16384, %rcx
|
||||
repne scasb
|
||||
jz print_error
|
||||
|
||||
# test 16-bit
|
||||
|
||||
mov $0xa5a5,%ax
|
||||
mov $buffer2,%rdi
|
||||
mov $8192, %rcx
|
||||
repne scasw
|
||||
jz print_error
|
||||
|
||||
# test 32-bit
|
||||
|
||||
mov $0xa5a5a5a5,%eax
|
||||
mov $buffer2,%rdi
|
||||
mov $4096, %rcx
|
||||
repne scasl
|
||||
jz print_error
|
||||
|
||||
# test 64-bit
|
||||
|
||||
mov $0xa5a5a5a5a5a5a5a5,%rax
|
||||
mov $buffer2,%rdi
|
||||
mov $2048, %rcx
|
||||
repne scasq
|
||||
jz print_error
|
||||
|
||||
jmp exit # no error, skip to exit
|
||||
|
||||
print_error:
|
||||
|
||||
mov $1, %rax # Write syscall
|
||||
mov $1, %rdi # print to stdout
|
||||
mov $error_string, %rsi # string to print
|
||||
mov $16, %edx # strlen
|
||||
syscall # call syscall
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
mov $60,%rax
|
||||
xor %rdi,%rdi # we return 0
|
||||
syscall # and exit
|
||||
|
||||
|
||||
.data
|
||||
error_string: .asciz "Error detected!\n"
|
||||
|
||||
.bss
|
||||
|
||||
.lcomm buffer1, 16384
|
||||
.lcomm buffer2, 16384
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 0 (Interval Size 100000)
|
||||
# Total instructions: 152
|
||||
# Total reps: 165917
|
||||
# Unique reps: 29
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,4 @@
|
||||
prog: rep_prefix
|
||||
vgopts: --interval-size=100000 --bb-out-file=rep_prefix.out.bb
|
||||
cleanup: rm rep_prefix.out.bb
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/arm-linux/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) ll$(EXEEXT)
|
||||
subdir = exp-bbv/tests/arm-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_$(V))
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
DIST_SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS = -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/arm-linux
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/arm-linux
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../../
|
||||
top_builddir = ../../..
|
||||
top_srcdir = ../../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/arm-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/arm-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/ll.Po
|
||||
include ./$(DEPDIR)/million.Po
|
||||
|
||||
.S.o:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,22 @@
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
|
||||
check_PROGRAMS = \
|
||||
million ll
|
||||
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
AM_CCASFLAGS += -ffreestanding -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
|
||||
LDFLAGS += -nostartfiles -nodefaultlibs
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) ll$(EXEEXT)
|
||||
subdir = exp-bbv/tests/arm-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
DIST_SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@ -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/arm-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/arm-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ll.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/million.Po@am__quote@
|
||||
|
||||
.S.o:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,5 @@
|
||||
#! /bin/sh
|
||||
|
||||
../filter_stderr
|
||||
|
||||
|
||||
@@ -0,0 +1,493 @@
|
||||
#
|
||||
# linux_logo in ARM assembly language
|
||||
# based on the code from ll_asm-0.41
|
||||
#
|
||||
# By Vince Weaver <vince _at_ deater.net>
|
||||
#
|
||||
# Modified to remove non-deterministic system calls
|
||||
# And to avoid reading from /proc
|
||||
|
||||
.include "logo.include"
|
||||
|
||||
# offsets into the results returned by the uname syscall
|
||||
.equ U_SYSNAME,0
|
||||
.equ U_NODENAME,65
|
||||
.equ U_RELEASE,65*2
|
||||
.equ U_VERSION,(65*3)
|
||||
.equ U_MACHINE,(65*4)
|
||||
.equ U_DOMAINNAME,65*5
|
||||
|
||||
# offset into the results returned by the sysinfo syscall
|
||||
.equ S_TOTALRAM,16
|
||||
|
||||
# Sycscalls
|
||||
.equ SYSCALL_EXIT, 1
|
||||
.equ SYSCALL_WRITE, 4
|
||||
|
||||
#
|
||||
.equ STDIN,0
|
||||
.equ STDOUT,1
|
||||
.equ STDERR,2
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
ldr r11,data_addr
|
||||
ldr r12,bss_addr
|
||||
|
||||
#=========================
|
||||
# PRINT LOGO
|
||||
#=========================
|
||||
|
||||
# LZSS decompression algorithm implementation
|
||||
# by Stephan Walter 2002, based on LZSS.C by Haruhiko Okumura 1989
|
||||
# optimized some more by Vince Weaver
|
||||
|
||||
ldr r1,out_addr @ buffer we are printing to
|
||||
|
||||
mov r2,#(N-F) @ R
|
||||
|
||||
add r3,r11,#(logo-data_begin)
|
||||
@ r3 points to logo data
|
||||
ldr r8,logo_end_addr
|
||||
@ r8 points to logo end
|
||||
ldr r9,text_addr @ r9 points to text buf
|
||||
|
||||
decompression_loop:
|
||||
ldrb r4,[r3],#+1 @ load a byte, increment pointer
|
||||
|
||||
mov r5,#0xff @ load top as a hackish 8-bit counter
|
||||
orr r5,r4,r5,LSL #8 @ shift 0xff left by 8 and or in the byte we loaded
|
||||
|
||||
test_flags:
|
||||
cmp r3,r8 @ have we reached the end?
|
||||
bge done_logo @ if so, exit
|
||||
|
||||
lsrs r5,#1 @ shift bottom bit into carry flag
|
||||
bcs discrete_char @ if set, we jump to discrete char
|
||||
|
||||
offset_length:
|
||||
ldrb r0,[r3],#+1 @ load a byte, increment pointer
|
||||
ldrb r4,[r3],#+1 @ load a byte, increment pointer
|
||||
@ we can't load halfword as no unaligned loads on arm
|
||||
|
||||
orr r4,r0,r4,LSL #8 @ merge back into 16 bits
|
||||
@ this has match_length and match_position
|
||||
|
||||
mov r7,r4 @ copy r4 to r7
|
||||
@ no need to mask r7, as we do it
|
||||
@ by default in output_loop
|
||||
|
||||
mov r0,#(THRESHOLD+1)
|
||||
add r6,r0,r4,LSR #(P_BITS)
|
||||
@ r6 = (r4 >> P_BITS) + THRESHOLD + 1
|
||||
@ (=match_length)
|
||||
|
||||
output_loop:
|
||||
ldr r0,pos_mask @ urgh, can't handle simple constants
|
||||
and r7,r7,r0 @ mask it
|
||||
ldrb r4,[r9,r7] @ load byte from text_buf[]
|
||||
add r7,r7,#1 @ advance pointer in text_buf
|
||||
|
||||
store_byte:
|
||||
strb r4,[r1],#+1 @ store a byte, increment pointer
|
||||
strb r4,[r9,r2] @ store a byte to text_buf[r]
|
||||
add r2,r2,#1 @ r++
|
||||
mov r0,#(N)
|
||||
sub r0,r0,#1 @ grrr no way to get this easier
|
||||
and r2,r2,r0 @ mask r
|
||||
|
||||
subs r6,r6,#1 @ decement count
|
||||
bne output_loop @ repeat until k>j
|
||||
|
||||
tst r5,#0xff00 @ are the top bits 0?
|
||||
bne test_flags @ if not, re-load flags
|
||||
|
||||
b decompression_loop
|
||||
|
||||
discrete_char:
|
||||
ldrb r4,[r3],#+1 @ load a byte, increment pointer
|
||||
mov r6,#1 @ we set r6 to one so byte
|
||||
@ will be output once
|
||||
|
||||
b store_byte @ and store it
|
||||
|
||||
|
||||
# end of LZSS code
|
||||
|
||||
done_logo:
|
||||
ldr r1,out_addr @ buffer we are printing to
|
||||
|
||||
bl write_stdout @ print the logo
|
||||
|
||||
#==========================
|
||||
# PRINT VERSION
|
||||
#==========================
|
||||
first_line:
|
||||
|
||||
mov r0,#0
|
||||
add r1,r11,#(uname_info-data_begin)
|
||||
@ os-name from uname "Linux"
|
||||
|
||||
ldr r10,out_addr @ point r10 to out_buffer
|
||||
|
||||
bl strcat @ call strcat
|
||||
|
||||
|
||||
add r1,r11,#(ver_string-data_begin) @ source is " Version "
|
||||
bl strcat @ call strcat
|
||||
|
||||
add r1,r11,#((uname_info-data_begin)+U_RELEASE)
|
||||
@ version from uname, ie "2.6.20"
|
||||
bl strcat @ call strcat
|
||||
|
||||
add r1,r11,#(compiled_string-data_begin)
|
||||
@ source is ", Compiled "
|
||||
bl strcat @ call strcat
|
||||
|
||||
add r1,r11,#((uname_info-data_begin)+U_VERSION)
|
||||
@ compiled date
|
||||
bl strcat @ call strcat
|
||||
|
||||
mov r3,#0xa
|
||||
strb r3,[r10],#+1 @ store a linefeed, increment pointer
|
||||
strb r0,[r10],#+1 @ NUL terminate, increment pointer
|
||||
|
||||
bl center_and_print @ center and print
|
||||
|
||||
@===============================
|
||||
@ Middle-Line
|
||||
@===============================
|
||||
middle_line:
|
||||
@=========
|
||||
@ Load /proc/cpuinfo into buffer
|
||||
@=========
|
||||
|
||||
ldr r10,out_addr @ point r10 to out_buffer
|
||||
|
||||
@=============
|
||||
@ Number of CPUs
|
||||
@=============
|
||||
number_of_cpus:
|
||||
|
||||
add r1,r11,#(one-data_begin)
|
||||
# cheat. Who has an SMP arm?
|
||||
bl strcat
|
||||
|
||||
@=========
|
||||
@ MHz
|
||||
@=========
|
||||
print_mhz:
|
||||
|
||||
@ the arm system I have does not report MHz
|
||||
|
||||
@=========
|
||||
@ Chip Name
|
||||
@=========
|
||||
chip_name:
|
||||
mov r0,#'s'
|
||||
mov r1,#'o'
|
||||
mov r2,#'r'
|
||||
mov r3,#' '
|
||||
bl find_string
|
||||
@ find 'sor\t: ' and grab up to ' '
|
||||
|
||||
add r1,r11,#(processor-data_begin)
|
||||
@ print " Processor, "
|
||||
bl strcat
|
||||
|
||||
@========
|
||||
@ RAM
|
||||
@========
|
||||
|
||||
|
||||
ldr r3,[r11,#((sysinfo_buff-data_begin)+S_TOTALRAM)]
|
||||
@ size in bytes of RAM
|
||||
movs r3,r3,lsr #20 @ divide by 1024*1024 to get M
|
||||
adc r3,r3,#0 @ round
|
||||
|
||||
mov r0,#1
|
||||
bl num_to_ascii
|
||||
|
||||
add r1,r11,#(ram_comma-data_begin)
|
||||
@ print 'M RAM, '
|
||||
bl strcat @ call strcat
|
||||
|
||||
|
||||
@========
|
||||
@ Bogomips
|
||||
@========
|
||||
|
||||
mov r0,#'I'
|
||||
mov r1,#'P'
|
||||
mov r2,#'S'
|
||||
mov r3,#'\n'
|
||||
bl find_string
|
||||
|
||||
add r1,r11,#(bogo_total-data_begin)
|
||||
bl strcat @ print bogomips total
|
||||
|
||||
bl center_and_print @ center and print
|
||||
|
||||
#=================================
|
||||
# Print Host Name
|
||||
#=================================
|
||||
last_line:
|
||||
ldr r10,out_addr @ point r10 to out_buffer
|
||||
|
||||
add r1,r11,#((uname_info-data_begin)+U_NODENAME)
|
||||
@ host name from uname()
|
||||
bl strcat @ call strcat
|
||||
|
||||
bl center_and_print @ center and print
|
||||
|
||||
add r1,r11,#(default_colors-data_begin)
|
||||
@ restore colors, print a few linefeeds
|
||||
bl write_stdout
|
||||
|
||||
|
||||
@================================
|
||||
@ Exit
|
||||
@================================
|
||||
exit:
|
||||
mov r0,#0 @ result is zero
|
||||
mov r7,#SYSCALL_EXIT
|
||||
swi 0x0 @ and exit
|
||||
|
||||
|
||||
@=================================
|
||||
@ FIND_STRING
|
||||
@=================================
|
||||
@ r0,r1,r2 = string to find
|
||||
@ r3 = char to end at
|
||||
@ r5 trashed
|
||||
find_string:
|
||||
ldr r7,disk_addr @ look in cpuinfo buffer
|
||||
find_loop:
|
||||
ldrb r5,[r7],#+1 @ load a byte, increment pointer
|
||||
cmp r5,r0 @ compare against first byte
|
||||
ldrb r5,[r7] @ load next byte
|
||||
cmpeq r5,r1 @ if first byte matched, comp this one
|
||||
ldrb r5,[r7,#+1] @ load next byte
|
||||
cmpeq r5,r2 @ if first two matched, comp this one
|
||||
beq find_colon @ if all 3 matched, we are found
|
||||
|
||||
cmp r5,#0 @ are we at EOF?
|
||||
beq done @ if so, done
|
||||
|
||||
b find_loop
|
||||
|
||||
find_colon:
|
||||
ldrb r5,[r7],#+1 @ load a byte, increment pointer
|
||||
cmp r5,#':'
|
||||
bne find_colon @ repeat till we find colon
|
||||
|
||||
add r7,r7,#1 @ skip the space
|
||||
|
||||
store_loop:
|
||||
ldrb r5,[r7],#+1 @ load a byte, increment pointer
|
||||
strb r5,[r10],#+1 @ store a byte, increment pointer
|
||||
cmp r5,r3
|
||||
bne store_loop
|
||||
|
||||
almost_done:
|
||||
mov r0,#0
|
||||
strb r0,[r10],#-1 @ replace last value with NUL
|
||||
|
||||
done:
|
||||
bx r14 @ return
|
||||
|
||||
#================================
|
||||
# strcat
|
||||
#================================
|
||||
# value to cat in r1
|
||||
# output buffer in r10
|
||||
# r3 trashed
|
||||
strcat:
|
||||
ldrb r3,[r1],#+1 @ load a byte, increment pointer
|
||||
strb r3,[r10],#+1 @ store a byte, increment pointer
|
||||
cmp r3,#0 @ is it zero?
|
||||
bne strcat @ if not loop
|
||||
sub r10,r10,#1 @ point to one less than null
|
||||
bx r14 @ return
|
||||
|
||||
|
||||
#==============================
|
||||
# center_and_print
|
||||
#==============================
|
||||
# string to center in at output_buffer
|
||||
|
||||
center_and_print:
|
||||
|
||||
stmfd SP!,{LR} @ store return address on stack
|
||||
|
||||
add r1,r11,#(escape-data_begin)
|
||||
@ we want to output ^[[
|
||||
bl write_stdout
|
||||
|
||||
str_loop2:
|
||||
ldr r2,out_addr @ point r2 to out_buffer
|
||||
sub r2,r10,r2 @ get length by subtracting
|
||||
|
||||
rsb r2,r2,#81 @ reverse subtract! r2=81-r2
|
||||
@ we use 81 to not count ending \n
|
||||
|
||||
bne done_center @ if result negative, don't center
|
||||
|
||||
lsrs r3,r2,#1 @ divide by 2
|
||||
adc r3,r3,#0 @ round?
|
||||
|
||||
mov r0,#0 @ print to stdout
|
||||
bl num_to_ascii @ print number of spaces
|
||||
|
||||
add r1,r11,#(C-data_begin)
|
||||
@ we want to output C
|
||||
bl write_stdout
|
||||
|
||||
done_center:
|
||||
ldr r1,out_addr @ point r1 to out_buffer
|
||||
ldmfd SP!,{LR} @ restore return address from stack
|
||||
|
||||
#================================
|
||||
# WRITE_STDOUT
|
||||
#================================
|
||||
# r1 has string
|
||||
# r0,r2,r3 trashed
|
||||
write_stdout:
|
||||
mov r2,#0 @ clear count
|
||||
|
||||
str_loop1:
|
||||
add r2,r2,#1
|
||||
ldrb r3,[r1,r2]
|
||||
cmp r3,#0
|
||||
bne str_loop1 @ repeat till zero
|
||||
|
||||
write_stdout_we_know_size:
|
||||
mov r0,#STDOUT @ print to stdout
|
||||
mov r7,#SYSCALL_WRITE
|
||||
swi 0x0 @ run the syscall
|
||||
bx r14 @ return
|
||||
|
||||
|
||||
@#############################
|
||||
@ num_to_ascii
|
||||
@#############################
|
||||
@ r3 = value to print
|
||||
@ r0 = 0=stdout, 1=strcat
|
||||
|
||||
num_to_ascii:
|
||||
stmfd SP!,{r10,LR} @ store return address on stack
|
||||
add r10,r12,#((ascii_buffer-bss_begin))
|
||||
add r10,r10,#10
|
||||
@ point to end of our buffer
|
||||
|
||||
mov r4,#10 @ we'll be dividing by 10
|
||||
div_by_10:
|
||||
bl divide @ Q=r7,$0, R=r8,$1
|
||||
add r8,r8,#0x30 @ convert to ascii
|
||||
strb r8,[r10],#-1 @ store a byte, decrement pointer
|
||||
adds r3,r7,#0 @ move Q in for next divide, update flags
|
||||
bne div_by_10 @ if Q not zero, loop
|
||||
|
||||
write_out:
|
||||
add r1,r10,#1 @ adjust pointer
|
||||
ldmfd SP!,{r10,LR} @ restore return address from stack
|
||||
|
||||
cmp r0,#0
|
||||
bne strcat @ if 1, strcat
|
||||
|
||||
b write_stdout @ else, fallthrough to stdout
|
||||
|
||||
|
||||
@===================================================
|
||||
@ Divide - because ARM has no hardware int divide
|
||||
@ yes this is an awful algorithm, but simple
|
||||
@ and uses few registers
|
||||
@==================================================
|
||||
@ r3=numerator r4=denominator
|
||||
@ r7=quotient r8=remainder
|
||||
@ r5=trashed
|
||||
divide:
|
||||
|
||||
mov r7,#0 @ zero out quotient
|
||||
divide_loop:
|
||||
mul r5,r7,r4 @ multiply Q by denominator
|
||||
add r7,r7,#1 @ increment quotient
|
||||
cmp r5,r3 @ is it greater than numerator?
|
||||
ble divide_loop @ if not, loop
|
||||
sub r7,r7,#2 @ otherwise went too far, decrement
|
||||
@ and done
|
||||
|
||||
mul r5,r7,r4 @ calculate remainder
|
||||
sub r8,r3,r5 @ R=N-(Q*D)
|
||||
bx r14 @ return
|
||||
|
||||
|
||||
bss_addr: .word bss_begin
|
||||
data_addr: .word data_begin
|
||||
out_addr: .word out_buffer
|
||||
disk_addr: .word disk_buffer
|
||||
logo_end_addr: .word logo_end
|
||||
pos_mask: .word ((POSITION_MASK<<8)+0xff)
|
||||
text_addr: .word text_buf
|
||||
|
||||
#===========================================================================
|
||||
# section .data
|
||||
#===========================================================================
|
||||
.data
|
||||
data_begin:
|
||||
ver_string: .ascii " Version \0"
|
||||
compiled_string: .ascii ", Compiled \0"
|
||||
processor: .ascii " Processor, \0"
|
||||
ram_comma: .ascii "M RAM, \0"
|
||||
bogo_total: .ascii " Bogomips Total\n\0"
|
||||
|
||||
default_colors: .ascii "\033[0m\n\n\0"
|
||||
escape: .ascii "\033[\0"
|
||||
C: .ascii "C\0"
|
||||
|
||||
one: .ascii "One \0"
|
||||
|
||||
uname_info:
|
||||
.ascii "Linux\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "lindt\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "2.6.32\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "#1 Wed May 13 15:51:54 UTC 2009\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
|
||||
disk_buffer:
|
||||
.ascii "Processor : Feroceon 88FR131 rev 1 (v5l)\n"
|
||||
.ascii "BogoMIPS : 1192.75\n"
|
||||
.ascii "Features : swp half thumb fastmult edsp \n"
|
||||
.ascii "CPU implementer : 0x56\n"
|
||||
.ascii "CPU architecture: 5TE\n"
|
||||
.ascii "CPU variant : 0x2\n"
|
||||
.ascii "CPU part : 0x131\n"
|
||||
.ascii "CPU revision : 1\n"
|
||||
.ascii "\n"
|
||||
.ascii "Hardware : Marvell SheevaPlug Reference Board\n"
|
||||
.ascii "Revision : 0000\n"
|
||||
.ascii "Serial : 0000000000000000\n\0"
|
||||
|
||||
|
||||
sysinfo_buff:
|
||||
.long 0,0,0,0,512*1024*1024,0,0,0
|
||||
|
||||
.include "logo.lzss_new"
|
||||
|
||||
|
||||
#============================================================================
|
||||
# section .bss
|
||||
#============================================================================
|
||||
.bss
|
||||
bss_begin:
|
||||
.lcomm ascii_buffer,10
|
||||
.lcomm text_buf, (N+F-1)
|
||||
.lcomm out_buffer,16384
|
||||
@@ -0,0 +1,56 @@
|
||||
T:1:12 :8:5 :6:24 :2:28 :9:18 :10:744 :4:104 :5:26 :7:1 :3:39
|
||||
T:8:10 :6:26 :2:30 :9:108 :10:695 :4:72 :5:30 :7:2 :3:27
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:8:5 :6:12 :2:14 :9:36 :10:863 :4:40 :5:14 :7:1 :3:15
|
||||
T:8:5 :6:10 :2:12 :9:90 :10:859 :4:8 :5:12 :7:1 :3:3
|
||||
T:8:5 :6:6 :2:8 :9:72 :10:900 :5:8 :7:1
|
||||
T:6:12 :2:12 :9:90 :10:863 :4:8 :5:12 :3:3
|
||||
T:8:5 :6:4 :2:6 :9:54 :10:924 :5:6 :7:1
|
||||
T:6:4 :2:4 :9:36 :10:952 :5:4
|
||||
T:6:8 :2:8 :9:72 :10:904 :5:8
|
||||
T:8:5 :6:10 :2:12 :9:108 :10:852 :5:12 :7:1
|
||||
T:8:5 :6:6 :2:8 :9:72 :10:900 :5:8 :7:1
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:8:5 :6:4 :2:6 :9:54 :10:924 :5:6 :7:1
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:6:4 :2:4 :9:36 :10:952 :5:4
|
||||
T:8:5 :6:4 :2:6 :9:54 :10:924 :5:6 :7:1
|
||||
T:6:4 :2:4 :9:36 :10:952 :5:4
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:8:5 :6:2 :2:4 :9:36 :10:948 :5:4 :7:1
|
||||
T:6:2 :2:2 :9:18 :10:976 :5:2
|
||||
T:6:10 :2:10 :9:55 :10:904 :4:8 :5:10 :3:3
|
||||
T:8:5 :6:4 :2:6 :9:71 :10:907 :5:6 :7:1
|
||||
T:6:4 :2:4 :9:36 :10:952 :5:4
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:8:5 :6:14 :2:16 :9:126 :10:811 :4:8 :5:16 :7:1 :3:3
|
||||
T:8:5 :6:2 :2:4 :9:36 :10:948 :5:4 :7:1
|
||||
T:6:4 :2:4 :9:36 :10:952 :5:4
|
||||
T:6:6 :2:6 :9:54 :10:928 :5:6
|
||||
T:8:5 :6:8 :2:10 :9:90 :10:876 :5:10 :7:1
|
||||
T:6:8 :2:8 :9:72 :10:904 :5:8
|
||||
T:8:5 :6:4 :2:6 :9:54 :10:924 :5:6 :7:1
|
||||
T:8:5 :6:10 :2:12 :9:108 :10:852 :5:12 :7:1
|
||||
T:6:8 :2:6 :9:36 :10:434 :4:8 :5:8 :3:3 :11:2 :12:5 :13:490
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:16:4 :19:2 :20:2 :21:2 :22:2 :23:4 :17:268 :18:10 :24:3 :25:4 :26:4 :34:2 :35:7 :12:15 :13:628 :14:12 :15:4 :27:5 :31:4 :32:4 :33:1 :28:5 :29:4 :30:4
|
||||
T:36:3 :37:5 :46:2 :47:5 :49:2 :50:5 :38:16 :41:280 :39:80 :40:40 :42:18 :43:5 :44:32 :45:3 :17:120 :18:8 :13:86 :14:3 :15:1 :27:5 :48:2 :31:12 :32:4 :28:15 :29:236 :30:12
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 47 (Interval Size 1000)
|
||||
# Total instructions: 47799
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 47 (Interval Size 1000)
|
||||
# Total instructions: 47799
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,17 @@
|
||||
[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
|
||||
[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
|
||||
[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
|
||||
|
||||
[9CLinux Version 2.6.32, Compiled #1 Wed May 13 15:51:54 UTC 2009
|
||||
[12COne Feroceon Processor, 512M RAM, 1192.75 Bogomips Total
|
||||
[38Clindt[0m
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: ll
|
||||
vgopts: --interval-size=1000 --bb-out-file=ll.out.bb
|
||||
post: cat ll.out.bb
|
||||
cleanup: rm ll.out.bb
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
|
||||
# count for 1 million instructions
|
||||
# total is 1 + 333332*3 + 2
|
||||
|
||||
|
||||
# Sycscalls
|
||||
.equ SYSCALL_EXIT, 1
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
||||
ldr r2,count @ set count
|
||||
|
||||
big_loop:
|
||||
add r2,r2,#-1
|
||||
cmp r2,#0
|
||||
bne big_loop @ repeat till zero
|
||||
|
||||
@================================
|
||||
@ Exit
|
||||
@================================
|
||||
exit:
|
||||
mov r0,#0 @ result is zero
|
||||
mov r7,#SYSCALL_EXIT
|
||||
swi 0x0 @ and exit
|
||||
|
||||
count: .word 333332
|
||||
@@ -0,0 +1,18 @@
|
||||
T:1:4 :2:99997
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: million
|
||||
vgopts: --interval-size=100000 --bb-out-file=million.out.bb
|
||||
post: cat million.out.bb
|
||||
cleanup: rm million.out.bb
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
#! /bin/sh
|
||||
|
||||
dir=`dirname $0`
|
||||
|
||||
$dir/../../tests/filter_stderr_basic |
|
||||
|
||||
# This attempts to filter out the basic block numbers
|
||||
# While keeping total count. This is because the
|
||||
# basic block number is non-deterministic on a
|
||||
# multi-threaded benchmark
|
||||
|
||||
sed s/:\[0-9\]\*:/' '/g
|
||||
@@ -0,0 +1,13 @@
|
||||
#! /bin/sh
|
||||
|
||||
dir=`dirname $0`
|
||||
|
||||
$dir/../../tests/filter_stderr_basic |
|
||||
|
||||
# Remove lines that don't start with #
|
||||
sed '/^[^#]/d' |
|
||||
|
||||
# Remove all blank lines
|
||||
sed '/^$/d'
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
.equ FREQUENT_CHAR,0
|
||||
.equ N,1024
|
||||
.equ F,64
|
||||
.equ THRESHOLD,2
|
||||
.equ P_BITS,10
|
||||
.equ POSITION_MASK,3
|
||||
@@ -0,0 +1,21 @@
|
||||
logo:
|
||||
.byte 255,27,91,48,59,49,59,51,55
|
||||
.byte 159,59,52,55,109,35,204,247,192,7,51
|
||||
.byte 141,48,200,27,27,91,196,7,203,31,28,12,59
|
||||
.byte 15,52,48,109,10,192,247,1,96,26,56,44,156
|
||||
.byte 31,27,91,51,49,109,204,4,65,172,13,36
|
||||
.byte 2,28,16,79,13,32,16,65,147,152,131,52,28,52,204,16
|
||||
.byte 16,12,36,111,57,236,167,28,8,51,22,20,137,85,44,96
|
||||
.byte 0,43,97,214,113,226,200,203,8,212,9,211,16,43,89,245,209
|
||||
.byte 0,128,17,210,24,13,40,28,20,13,44,28,28,240,74,26,91
|
||||
.byte 0,13,80,95,101,135,101,43,85,245,205,205,40,205,20,137,65
|
||||
.byte 0,29,135,66,75,114,83,28,120,15,98,135,109,85,88,247,193
|
||||
.byte 0,232,43,244,151,73,120,61,176,27,95,151,176,18,43,171,202
|
||||
.byte 16,223,22,26,245,90,245,217,63,51,27,86,146,91,176,2
|
||||
.byte 0,12,29,211,200,172,57,23,102,50,246,110,109,236,68,96,94
|
||||
.byte 8,175,10,166,105,20,1,48,51,11,222,31,49,15,211,188
|
||||
.byte 0,175,79,25,86,170,69,82,219,40,82,70,127,8,83,219,35
|
||||
.byte 0,169,85,170,53,24,33,18,104,145,42,200,34,178,104,112,45
|
||||
.byte 0,198,80,178,121,145,74,112,49,248,81,243,40,221,23,255,23
|
||||
.byte 8,2,54,3,36,229,66,10
|
||||
logo_end:
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/ppc32-linux/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) ll$(EXEEXT)
|
||||
subdir = exp-bbv/tests/ppc32-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_$(V))
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
DIST_SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS = -nostartfiles -nodefaultlibs -m32
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/ppc32-linux
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/ppc32-linux
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../../
|
||||
top_builddir = ../../..
|
||||
top_srcdir = ../../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -m32 -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/ppc32-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/ppc32-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/ll.Po
|
||||
include ./$(DEPDIR)/million.Po
|
||||
|
||||
.S.o:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,22 @@
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
|
||||
check_PROGRAMS = \
|
||||
million ll
|
||||
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
AM_CCASFLAGS += -ffreestanding -m32 -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
|
||||
LDFLAGS += -nostartfiles -nodefaultlibs -m32
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) ll$(EXEEXT)
|
||||
subdir = exp-bbv/tests/ppc32-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
DIST_SOURCES = $(ll_SOURCES) $(million_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@ -nostartfiles -nodefaultlibs -m32
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -m32 -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest
|
||||
|
||||
ll_SOURCES = ll.S
|
||||
million_SOURCES = million.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/ppc32-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/ppc32-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ll.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/million.Po@am__quote@
|
||||
|
||||
.S.o:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,5 @@
|
||||
#! /bin/sh
|
||||
|
||||
../filter_stderr
|
||||
|
||||
|
||||
@@ -0,0 +1,579 @@
|
||||
#
|
||||
# linux_logo in ppc assembly language
|
||||
# based on the code from ll_asm-0.36
|
||||
#
|
||||
# By Vince Weaver <vince _at_ deater.net>
|
||||
#
|
||||
# Modified to remove non-deterministic system calls
|
||||
# And to avoid reading from /proc
|
||||
#
|
||||
|
||||
# offsets into the results returned by the uname syscall
|
||||
.equ U_SYSNAME,0
|
||||
.equ U_NODENAME,65
|
||||
.equ U_RELEASE,65*2
|
||||
.equ U_VERSION,(65*3)
|
||||
.equ U_MACHINE,(65*4)
|
||||
.equ U_DOMAINNAME,65*5
|
||||
|
||||
# offset into the SYSCALL_SYSINFO buffer
|
||||
.equ S_TOTALRAM,16
|
||||
|
||||
# Sycscalls
|
||||
.equ SYSCALL_EXIT, 1
|
||||
#.equ SYSCALL_READ, 3
|
||||
.equ SYSCALL_WRITE, 4
|
||||
#.equ SYSCALL_OPEN, 5
|
||||
#.equ SYSCALL_CLOSE, 6
|
||||
#.equ SYSCALL_SYSINFO,116
|
||||
#.equ SYSCALL_UNAME, 122
|
||||
|
||||
#
|
||||
.equ STDIN, 0
|
||||
.equ STDOUT,1
|
||||
.equ STDERR,2
|
||||
|
||||
.equ BSS_BEGIN,25
|
||||
.equ DATA_BEGIN,26
|
||||
|
||||
.include "logo.include"
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
||||
#========================
|
||||
# Initialization
|
||||
#========================
|
||||
|
||||
|
||||
# eieio # coolest opcode of all time ;)
|
||||
# not needed, but I had to put it here
|
||||
# the hack loading BSS_BEGIN and DATA_BEGIN
|
||||
# saves one instruction on any future load from memory
|
||||
# as we can just do an addi rather than an lis;addi
|
||||
|
||||
lis 25,bss_begin@ha
|
||||
addi 25,25,bss_begin@l
|
||||
|
||||
lis 26,data_begin@ha
|
||||
addi 26,26,data_begin@l
|
||||
|
||||
addi 14,BSS_BEGIN,(out_buffer-bss_begin)
|
||||
# the output buffer
|
||||
|
||||
addi 21,BSS_BEGIN,(text_buf-bss_begin)
|
||||
|
||||
|
||||
mr 17,14 # store out-buffer for later
|
||||
|
||||
#=========================
|
||||
# PRINT LOGO
|
||||
#=========================
|
||||
|
||||
# LZSS decompression algorithm implementation
|
||||
# by Stephan Walter 2002, based on LZSS.C by Haruhiko Okumura 1989
|
||||
# optimized some more by Vince Weaver
|
||||
|
||||
|
||||
li 8,(N-F) # grab "R"
|
||||
|
||||
addi 9,DATA_BEGIN,(logo-data_begin)-1
|
||||
# logo_pointer
|
||||
|
||||
addi 12,DATA_BEGIN,(logo_end-data_begin)-1
|
||||
# end of the logo
|
||||
|
||||
|
||||
mr 16,17
|
||||
|
||||
decompression_loop:
|
||||
lbzu 10,1(9) # load in a byte
|
||||
# auto-update
|
||||
mr 11,10 # copy to 11
|
||||
ori 11,11,0xff00 # re-load top as a hackish
|
||||
# 8-bit counter
|
||||
|
||||
test_flags:
|
||||
cmpw 0,12,9 # have we reached the end?
|
||||
ble done_logo # ! if so exit
|
||||
|
||||
andi. 13,11,0x1
|
||||
srawi 11,11,1
|
||||
|
||||
bne 0,discrete_char
|
||||
|
||||
offset_length:
|
||||
lbzu 10,1(9)
|
||||
lbzu 24,1(9)
|
||||
slwi 24,24,8
|
||||
or 24,24,10
|
||||
|
||||
mr 10,24
|
||||
|
||||
srawi 15,10,P_BITS
|
||||
addi 15,15,THRESHOLD+1 # cl = ax >> (P_BITS)+THRESH+1
|
||||
# = match length
|
||||
|
||||
output_loop:
|
||||
andi. 24,24,(POSITION_MASK<<8+0xff) # mask it
|
||||
lbzx 10,21,24
|
||||
addi 24,24,1
|
||||
|
||||
store_byte:
|
||||
stbu 10,1(16)
|
||||
|
||||
stbx 10,21,8
|
||||
addi 8,8,1
|
||||
andi. 8,8,(N-1)
|
||||
|
||||
addic. 15,15,-1
|
||||
bne 0,output_loop
|
||||
|
||||
andi. 13,11,0xff00
|
||||
bne test_flags
|
||||
|
||||
b decompression_loop
|
||||
|
||||
discrete_char:
|
||||
|
||||
lbzu 10,1(9)
|
||||
li 15,1
|
||||
|
||||
b store_byte
|
||||
|
||||
done_logo:
|
||||
|
||||
addi 4,17,1 # restore (plus one because r17 is decremented)
|
||||
bl write_stdout # and print the logo
|
||||
|
||||
|
||||
#==========================
|
||||
# First Line
|
||||
#==========================
|
||||
|
||||
|
||||
#==========================
|
||||
# PRINT VERSION
|
||||
#==========================
|
||||
|
||||
# li 0,SYSCALL_UNAME # uname syscall
|
||||
# addi 3,BSS_BEGIN,(uname_info-bss_begin)
|
||||
# uname struct
|
||||
# sc # do syscall
|
||||
|
||||
|
||||
addi 16,DATA_BEGIN,(uname_info-data_begin)+U_SYSNAME@l-1
|
||||
# os-name from uname "Linux"
|
||||
bl strcat
|
||||
|
||||
addi 16,DATA_BEGIN,(ver_string-data_begin)-1
|
||||
# source is " Version "
|
||||
bl strcat
|
||||
|
||||
addi 16,DATA_BEGIN,(uname_info-data_begin)+U_RELEASE@l-1
|
||||
# version from uname "2.4.1"
|
||||
bl strcat
|
||||
|
||||
addi 16,DATA_BEGIN,(compiled_string-data_begin)-1
|
||||
# source is ", Compiled "
|
||||
bl strcat
|
||||
|
||||
addi 16,DATA_BEGIN,(uname_info-data_begin)+U_VERSION-1
|
||||
# compiled date
|
||||
bl strcat
|
||||
|
||||
bl center_and_print # write it to screen
|
||||
|
||||
|
||||
#===============================
|
||||
# Middle-Line
|
||||
#===============================
|
||||
|
||||
#=========
|
||||
# Load /proc/cpuinfo into buffer
|
||||
#=========
|
||||
|
||||
# li 0,SYSCALL_OPEN # open()
|
||||
# addi 3,DATA_BEGIN,(cpuinfo-data_begin)
|
||||
# '/proc/cpuinfo'
|
||||
# li 4,0 # O_RDONLY <bits/fcntl.h>
|
||||
# sc # syscall. fd in r0.
|
||||
# we should check that r0>=0
|
||||
|
||||
# mr 13,3 # save fd in r13
|
||||
|
||||
# li 0,SYSCALL_READ # read
|
||||
# addi 4,BSS_BEGIN,(disk_buffer-bss_begin)
|
||||
# li 5,4096 # 4096 is maximum size of proc file ;)
|
||||
# sc
|
||||
|
||||
# mr 3,13 # restore fd
|
||||
# li 0,6 # close
|
||||
# sc
|
||||
|
||||
#=============
|
||||
# Number of CPUs
|
||||
#=============
|
||||
|
||||
mr 14,17 # point output to out_buf
|
||||
|
||||
# Assume 1 CPU for now
|
||||
# my iBook's /proc/cpuinfo does not have a "processor" line ???
|
||||
|
||||
addi 16,DATA_BEGIN,(one-data_begin)-1
|
||||
bl strcat
|
||||
|
||||
#=========
|
||||
# MHz
|
||||
#=========
|
||||
|
||||
lis 20,('l'<<8)+'o' # find 'lock ' and grab up to M
|
||||
addi 20,20,('c'<<8)+'k'
|
||||
li 23,'M'
|
||||
bl find_string
|
||||
|
||||
addi 16,DATA_BEGIN,(megahertz-data_begin)-1
|
||||
# print 'MHz '
|
||||
bl strcat
|
||||
|
||||
|
||||
#=========
|
||||
# Chip Name
|
||||
#=========
|
||||
|
||||
lis 20,('c'<<8)+'p' # find 'cpu\t: ' and grab up to \n
|
||||
addi 20,20,('u'<<8)+'\t'
|
||||
li 23,'\n'
|
||||
bl find_string
|
||||
|
||||
addi 16,DATA_BEGIN,(comma-data_begin)-1
|
||||
# print ', '
|
||||
bl strcat
|
||||
|
||||
#========
|
||||
# RAM
|
||||
#========
|
||||
|
||||
# li 0,SYSCALL_SYSINFO # sysinfo() syscall
|
||||
# addi 3,BSS_BEGIN,(sysinfo_buff-bss_begin)
|
||||
# sysinfo_buffer
|
||||
|
||||
# sc
|
||||
|
||||
lwz 4,(sysinfo_buff+S_TOTALRAM-data_begin)(DATA_BEGIN)
|
||||
# load bytes of RAM into r4
|
||||
|
||||
srawi 4,4,20 # divide by 2^20 to get MB
|
||||
li 5,0
|
||||
|
||||
bl num_to_ascii
|
||||
|
||||
addi 16,DATA_BEGIN,(ram_comma-data_begin)-1
|
||||
# print 'M RAM, '
|
||||
|
||||
bl strcat
|
||||
|
||||
#========
|
||||
# Bogomips
|
||||
#========
|
||||
|
||||
lis 20,('m'<<8)+'i' # find 'mips' and grab up to \n
|
||||
addi 20,20,('p'<<8)+'s'
|
||||
li 23,'\n'
|
||||
bl find_string
|
||||
|
||||
addi 16,DATA_BEGIN,(bogo_total-data_begin)-1
|
||||
# print "Bogomips Total"
|
||||
bl strcat
|
||||
|
||||
bl center_and_print # center it
|
||||
|
||||
|
||||
#=================================
|
||||
# Print Host Name
|
||||
#=================================
|
||||
|
||||
mr 14,17 # restore out buffer
|
||||
|
||||
addi 16,DATA_BEGIN,((uname_info-data_begin)+U_NODENAME)-1
|
||||
# hostname
|
||||
|
||||
bl strcat
|
||||
|
||||
bl center_and_print
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
li 3,0 # 0 exit value
|
||||
li 0,SYSCALL_EXIT # put the exit syscall number in eax
|
||||
sc # and exit
|
||||
|
||||
|
||||
|
||||
|
||||
#=================================
|
||||
# FIND_STRING
|
||||
#=================================
|
||||
# r23 is char to end at
|
||||
# r20 is the 4-char ascii string to look for
|
||||
# r14 points at output buffer
|
||||
# r16,r21
|
||||
|
||||
find_string:
|
||||
|
||||
addi 16,DATA_BEGIN,(disk_buffer-data_begin)-1
|
||||
# look in cpuinfo buffer
|
||||
# -1 so we can use lbzu
|
||||
|
||||
find_loop:
|
||||
lwzu 13,1(16) # load in 32 bits, incrementing 8bits
|
||||
cmpwi 13,0 # ! if null, we are done
|
||||
beq done
|
||||
cmpw 13,20 # compare with out 4 char string
|
||||
bne find_loop # ! if no match, keep looping
|
||||
|
||||
|
||||
# ! if we get this far, we matched
|
||||
|
||||
li 21,':'
|
||||
find_colon:
|
||||
lbzu 13,1(16) # repeat till we find colon
|
||||
cmpwi 13,0
|
||||
beq done
|
||||
cmpw 13,21
|
||||
bne find_colon
|
||||
|
||||
addi 16,16,1 # skip a char [should be space]
|
||||
|
||||
store_loop:
|
||||
lbzu 13,1(16)
|
||||
cmpwi 13,0
|
||||
beq done
|
||||
cmpw 13,23 # is it end string?
|
||||
beq almost_done # ! if so, finish
|
||||
stbu 13,1(14) # ! if not store and continue
|
||||
b store_loop
|
||||
|
||||
almost_done:
|
||||
li 13,0 # replace last value with null
|
||||
stb 13,1(14)
|
||||
|
||||
done:
|
||||
blr
|
||||
|
||||
#================================
|
||||
# strcat
|
||||
#================================
|
||||
# r13 = "temp"
|
||||
# r16 = "source"
|
||||
# r14 = "destination"
|
||||
strcat:
|
||||
lbzu 13,1(16) # load a byte from [r16]
|
||||
stbu 13,1(14) # store a byte to [r14]
|
||||
cmpwi 13,0 # is it zero?
|
||||
bne strcat # ! if not loop
|
||||
subi 14,14,1 # point to one less than null
|
||||
blr # return
|
||||
|
||||
#==============================
|
||||
# center_and_print
|
||||
#==============================
|
||||
# r14 is end of buffer
|
||||
# r17 is start of buffer
|
||||
# r29 = saved link register
|
||||
# r4-r10, r19-r22, r30 trashed
|
||||
|
||||
center_and_print:
|
||||
|
||||
mflr 29 # back up return address
|
||||
|
||||
subf 5,17,14 # see how long the output
|
||||
# buffer is
|
||||
|
||||
cmpwi 5,80 # see if we are >80
|
||||
bgt done_center # ! if so, bail
|
||||
|
||||
li 4,80 # 80 column screen
|
||||
subf 4,5,4 # subtract strlen
|
||||
srawi 23,4,1 # divide by two
|
||||
|
||||
lis 4,escape@ha
|
||||
addi 4,4,escape@l
|
||||
bl write_stdout
|
||||
|
||||
mr 4,23
|
||||
li 5,1 # print to stdout
|
||||
bl num_to_ascii # print number
|
||||
|
||||
lis 4,c@ha
|
||||
addi 4,4,c@l
|
||||
bl write_stdout
|
||||
|
||||
|
||||
done_center:
|
||||
|
||||
addi 4,17,1 # move string to output+1
|
||||
bl write_stdout # call write stdout
|
||||
|
||||
lis 4,linefeed@ha
|
||||
addi 4,4,linefeed@l
|
||||
|
||||
mtlr 29 # restore link register
|
||||
# and let write_stdout
|
||||
# return for us
|
||||
|
||||
|
||||
|
||||
#================================
|
||||
# WRITE_STDOUT
|
||||
#================================
|
||||
# r4 has string
|
||||
# r0,r3,r4,r5,r6 trashed
|
||||
|
||||
write_stdout:
|
||||
li 0,SYSCALL_WRITE # write syscall
|
||||
li 3,STDOUT # stdout
|
||||
|
||||
li 5,0 # string length counter
|
||||
strlen_loop:
|
||||
lbzx 6,4,5 # get byte from (r4+r5)
|
||||
addi 5,5,1 # increment counter
|
||||
cmpi 0,6,0 # is it zero?
|
||||
bne strlen_loop # ! if not keep counting
|
||||
addi 5,5,-1
|
||||
sc # syscall
|
||||
|
||||
blr # return
|
||||
|
||||
|
||||
##############################
|
||||
# Num to Ascii
|
||||
##############################
|
||||
# num is in r4
|
||||
# r5 =0 then strcat, otherwise stdout
|
||||
# r5-r10,r19,r20,r21,r22,r30 trashed
|
||||
|
||||
num_to_ascii:
|
||||
|
||||
mflr 30 # save the link register
|
||||
|
||||
addi 16,BSS_BEGIN,(num_to_ascii_end-bss_begin)
|
||||
# the end of a backwards growing
|
||||
# 10 byte long buffer.
|
||||
|
||||
li 20,10 # we will divide by 10
|
||||
mr 19,4 # load in the value passed
|
||||
|
||||
div_by_10:
|
||||
divw 21,19,20 # divide r19 by r20 put into r21
|
||||
|
||||
mullw 22,21,20 # find remainder. 1st q*dividend
|
||||
subf 22,22,19 # then subtract from original = R
|
||||
addi 22,22,0x30 # convert remainder to ascii
|
||||
|
||||
stbu 22,-1(16) # Store to backwards buffer
|
||||
|
||||
mr 19,21 # move Quotient as new dividend
|
||||
cmpwi 19,0 # was quotient zero?
|
||||
bne div_by_10 # ! if not keep dividing
|
||||
|
||||
write_out:
|
||||
cmpwi 5,0 # ! if r5 is 0 then skip ahead
|
||||
bne stdout_num
|
||||
|
||||
addi 16,16,-1 # point to the beginning
|
||||
bl strcat # and strcat it
|
||||
|
||||
mtlr 30 # restore link register
|
||||
|
||||
blr # return
|
||||
|
||||
stdout_num:
|
||||
mr 4,16 # point to our buffer
|
||||
mtlr 30 # restore link register
|
||||
b write_stdout # stdout will return for us
|
||||
|
||||
|
||||
#===========================================================================
|
||||
.data
|
||||
#===========================================================================
|
||||
|
||||
|
||||
data_begin:
|
||||
|
||||
.include "logo.lzss_new"
|
||||
|
||||
ver_string: .ascii " Version \0"
|
||||
compiled_string: .ascii ", Compiled \0"
|
||||
megahertz: .ascii "MHz PPC \0"
|
||||
.equ space, ram_comma+6
|
||||
.equ comma, ram_comma+5
|
||||
linefeed: .ascii "\n\0"
|
||||
escape: .ascii "\033[\0"
|
||||
c: .ascii "C\0"
|
||||
ram_comma: .ascii "M RAM, \0"
|
||||
|
||||
bogo_total: .ascii " Bogomips Total\0"
|
||||
|
||||
default_colors: .ascii "\033[0m\n\n\0"
|
||||
|
||||
cpuinfo: .ascii "/proc/cpuinfo\0"
|
||||
|
||||
one: .ascii "One \0"
|
||||
|
||||
disk_buffer:
|
||||
.ascii "processor : 0\n"
|
||||
.ascii "cpu : 745/755\n"
|
||||
.ascii "temperature : 22-24 C (uncalibrated)\n"
|
||||
.ascii "clock : 600.000000MHz\n"
|
||||
.ascii "revision : 51.17 (pvr 0008 3311)\n"
|
||||
.ascii "bogomips : 49.79\n"
|
||||
.ascii "timebase : 24960000\n"
|
||||
.ascii "platform : PowerMac\n"
|
||||
.ascii "model : PowerBook4,1\n"
|
||||
.ascii "machine : PowerBook4,1\n"
|
||||
.ascii "motherboard : PowerBook4,1 MacRISC2 MacRISC Power Macintosh\n"
|
||||
.ascii "detected as : 257 (iBook 2)\n"
|
||||
.ascii "pmac flags : 0000001b\n"
|
||||
.ascii "L2 cache : 256K unified\n"
|
||||
.ascii "pmac-generation : NewWorld\n\0"
|
||||
|
||||
uname_info:
|
||||
.ascii "Linux\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "henparma\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "2.6.29\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "#1 Wed May 13 15:51:54 UTC 2009\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
|
||||
sysinfo_buff:
|
||||
.long 0,0,0,0,512*1024*1024,0,0,0
|
||||
|
||||
#============================================================================
|
||||
#.bss
|
||||
#============================================================================
|
||||
|
||||
.lcomm bss_begin,0
|
||||
.lcomm num_to_ascii_buff,10
|
||||
.lcomm num_to_ascii_end,1
|
||||
.lcomm text_buf, (N+F-1) # These buffers must follow each other
|
||||
.lcomm out_buffer,16384
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
T:1:16 :8:10 :6:32 :2:56 :9:48 :10:666 :4:90 :5:36 :7:2 :3:45
|
||||
T:8:5 :6:20 :2:34 :9:80 :10:775 :4:42 :5:22 :7:1 :3:21
|
||||
T:8:5 :6:16 :2:27 :9:64 :10:824 :4:30 :5:18 :7:1 :3:15
|
||||
T:8:5 :6:10 :2:18 :9:80 :10:865 :4:6 :5:12 :7:1 :3:3
|
||||
T:8:5 :6:10 :2:18 :9:96 :10:858 :5:12 :7:1
|
||||
T:8:5 :6:10 :2:18 :9:80 :10:865 :4:6 :5:12 :7:1 :3:3
|
||||
T:6:6 :2:9 :9:36 :10:943 :5:6
|
||||
T:8:5 :6:8 :2:15 :9:92 :10:869 :5:10 :7:1
|
||||
T:6:14 :2:21 :9:112 :10:839 :5:14
|
||||
T:8:5 :6:6 :2:12 :9:64 :10:902 :5:10 :7:1
|
||||
T:8:5 :6:8 :2:15 :9:80 :10:883 :5:8 :7:1
|
||||
T:6:8 :2:12 :9:64 :10:908 :5:8
|
||||
T:6:6 :2:9 :9:48 :10:931 :5:6
|
||||
T:8:5 :6:4 :2:9 :9:48 :10:927 :5:6 :7:1
|
||||
T:6:6 :2:9 :9:48 :10:931 :5:6
|
||||
T:8:5 :6:6 :2:12 :9:64 :10:904 :5:8 :7:1
|
||||
T:6:2 :2:3 :9:16 :10:977 :5:2
|
||||
T:8:5 :6:12 :2:21 :9:96 :10:842 :4:6 :5:14 :7:1 :3:3
|
||||
T:6:6 :2:9 :9:48 :10:931 :5:6
|
||||
T:6:6 :2:9 :9:48 :10:931 :5:6
|
||||
T:8:5 :6:14 :2:24 :9:112 :10:819 :4:6 :5:16 :7:1 :3:3
|
||||
T:8:5 :6:6 :2:12 :9:64 :10:904 :5:8 :7:1
|
||||
T:6:6 :2:9 :9:48 :10:931 :5:6
|
||||
T:8:5 :6:8 :2:15 :9:80 :10:881 :5:10 :7:1
|
||||
T:8:5 :6:10 :2:18 :9:96 :10:858 :5:12 :7:1
|
||||
T:6:10 :2:15 :9:80 :10:885 :5:10
|
||||
T:8:5 :6:10 :2:15 :9:64 :10:470 :4:6 :5:12 :7:1 :3:3 :11:2 :12:7 :13:405
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:13:1000
|
||||
T:16:2 :19:2 :20:2 :21:2 :22:2 :23:1 :17:268 :18:10 :24:4 :25:6 :26:3 :30:3 :31:2 :12:28 :13:636 :14:8 :15:4 :27:12 :28:2 :29:3
|
||||
T:33:3 :34:4 :46:2 :47:4 :48:2 :49:4 :53:2 :54:4 :35:8 :37:246 :36:168 :38:8 :40:27 :39:22 :41:8 :44:51 :42:38 :43:34 :45:6 :17:116 :18:10 :32:10 :13:183 :14:4 :15:2 :27:12 :50:16 :28:2 :51:2 :52:2
|
||||
T:55:2 :56:1 :35:4 :37:381 :36:256 :38:4 :40:12 :39:10 :41:4 :44:15 :42:12 :43:10 :45:3 :17:64 :18:2 :24:4 :25:6 :26:3 :30:3 :31:2 :12:28 :13:148 :14:6 :15:3 :27:12 :28:2 :29:3
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 40 (Interval Size 1000)
|
||||
# Total instructions: 40330
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 40 (Interval Size 1000)
|
||||
# Total instructions: 40330
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,16 @@
|
||||
[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
|
||||
[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
|
||||
[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
|
||||
|
||||
[9CLinux Version 2.6.29, Compiled #1 Wed May 13 15:51:54 UTC 2009
|
||||
[9COne 600.000000MHz PPC 745/755, 512M RAM, 49.79 Bogomips Total
|
||||
[36Chenparma
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: ll
|
||||
vgopts: --interval-size=1000 --bb-out-file=ll.out.bb
|
||||
post: cat ll.out.bb
|
||||
cleanup: rm ll.out.bb
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
# count for 1 million instructions
|
||||
# total is 3 + 499997*2 + 3
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
nop # to give us an even million
|
||||
lis 15,499997@ha # load high 16-bits of counter
|
||||
addi 15,15,499997@l # load low 16-bits of counter
|
||||
test_loop:
|
||||
addic. 15,15,-1 # decrement counter
|
||||
bne 0,test_loop # loop until zero
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
|
||||
exit:
|
||||
li 3,0 # 0 exit value
|
||||
li 0,1 # put the exit syscall number (1) in r0
|
||||
sc # and exit
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
T:1:5 :2:99996
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
T:2:100000
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 10 (Interval Size 100000)
|
||||
# Total instructions: 1000000
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: million
|
||||
vgopts: --interval-size=100000 --bb-out-file=million.out.bb
|
||||
post: cat million.out.bb
|
||||
cleanup: rm million.out.bb
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/x86-linux/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = ll$(EXEEXT) clone_test$(EXEEXT)
|
||||
subdir = exp-bbv/tests/x86-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_clone_test_OBJECTS = clone_test.$(OBJEXT)
|
||||
clone_test_OBJECTS = $(am_clone_test_OBJECTS)
|
||||
clone_test_LDADD = $(LDADD)
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_$(V))
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(clone_test_SOURCES) $(ll_SOURCES)
|
||||
DIST_SOURCES = $(clone_test_SOURCES) $(ll_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS = -m32 -static -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/x86-linux
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/x86-linux
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../../
|
||||
top_builddir = ../../..
|
||||
top_srcdir = ../../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests -m32
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
ll_SOURCES = ll.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/x86-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/x86-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
clone_test$(EXEEXT): $(clone_test_OBJECTS) $(clone_test_DEPENDENCIES) $(EXTRA_clone_test_DEPENDENCIES)
|
||||
@rm -f clone_test$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(clone_test_OBJECTS) $(clone_test_LDADD) $(LIBS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/clone_test.Po
|
||||
include ./$(DEPDIR)/ll.Po
|
||||
|
||||
.S.o:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,24 @@
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
|
||||
check_PROGRAMS = \
|
||||
ll clone_test
|
||||
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest
|
||||
|
||||
AM_CCASFLAGS += -ffreestanding -Xassembler -I$(top_srcdir)/exp-bbv/tests
|
||||
|
||||
LDFLAGS += @FLAG_M32@ -static -nostartfiles -nodefaultlibs
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
ll_SOURCES = ll.S
|
||||
|
||||
AM_CCASFLAGS += @FLAG_M32@
|
||||
@@ -0,0 +1,929 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = ll$(EXEEXT) clone_test$(EXEEXT)
|
||||
subdir = exp-bbv/tests/x86-linux
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_clone_test_OBJECTS = clone_test.$(OBJEXT)
|
||||
clone_test_OBJECTS = $(am_clone_test_OBJECTS)
|
||||
clone_test_LDADD = $(LDADD)
|
||||
am_ll_OBJECTS = ll.$(OBJEXT)
|
||||
ll_OBJECTS = $(am_ll_OBJECTS)
|
||||
ll_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(clone_test_SOURCES) $(ll_SOURCES)
|
||||
DIST_SOURCES = $(clone_test_SOURCES) $(ll_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@ @FLAG_M32@ -static -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -Xassembler \
|
||||
-I$(top_srcdir)/exp-bbv/tests @FLAG_M32@
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
clone_test.stderr.exp \
|
||||
clone_test.post.exp \
|
||||
clone_test.vgtest \
|
||||
ll.stderr.exp \
|
||||
ll.stdout.exp \
|
||||
ll.post.exp \
|
||||
ll.vgtest
|
||||
|
||||
clone_test_SOURCES = clone_test.S
|
||||
ll_SOURCES = ll.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/x86-linux/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/x86-linux/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
clone_test$(EXEEXT): $(clone_test_OBJECTS) $(clone_test_DEPENDENCIES) $(EXTRA_clone_test_DEPENDENCIES)
|
||||
@rm -f clone_test$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(clone_test_OBJECTS) $(clone_test_LDADD) $(LIBS)
|
||||
|
||||
ll$(EXEEXT): $(ll_OBJECTS) $(ll_DEPENDENCIES) $(EXTRA_ll_DEPENDENCIES)
|
||||
@rm -f ll$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(ll_OBJECTS) $(ll_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clone_test.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ll.Po@am__quote@
|
||||
|
||||
.S.o:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,95 @@
|
||||
# count for ~1 million instructions thread 1
|
||||
# count for ~2 million instructions thread 2
|
||||
# count for additional 500 million each before exit
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
|
||||
#################################################
|
||||
# 1000 cycles in initial thread #
|
||||
#################################################
|
||||
|
||||
xor %eax,%eax
|
||||
mov $499,%ecx # load counter
|
||||
initial_loop:
|
||||
dec %ecx # repeat count times
|
||||
jnz initial_loop
|
||||
|
||||
|
||||
#####################################################
|
||||
# Spawn a thread! #
|
||||
#####################################################
|
||||
clone:
|
||||
mov $120,%eax # clone syscall
|
||||
|
||||
# Note, clone syscall is different than the glibc implementation
|
||||
|
||||
# int clone (flags, stack_pointer,parent_tidptr,child_tidptr,tls)
|
||||
|
||||
|
||||
# Flags in
|
||||
#/usr/include/bits/sched.h
|
||||
# CLONE_THREAD 0x10000
|
||||
# CLONE_SIGHAND 0x800
|
||||
# CLONE_VM 0x100
|
||||
# above must be called together
|
||||
# Below required for Valgrind
|
||||
# CLONE_FS 0x200
|
||||
# CLONE_FILES 0x400
|
||||
|
||||
mov $0x10f00,%ebx
|
||||
|
||||
|
||||
mov $(new_stack+4096),%ecx # new stack
|
||||
|
||||
|
||||
|
||||
mov $0,%edx # args (none)
|
||||
|
||||
int $0x80
|
||||
|
||||
cmp $0,%eax # are we in new thread?
|
||||
jz thread2 # if so, jump to thrad2
|
||||
|
||||
|
||||
###############################################
|
||||
# thread1 #
|
||||
###############################################
|
||||
|
||||
thread1:
|
||||
|
||||
mov $499997,%ecx # load counter
|
||||
thread1_loop:
|
||||
dec %ecx # repeat count times
|
||||
jnz thread1_loop
|
||||
|
||||
xor %ebx,%ebx # we return 0
|
||||
jmp exit
|
||||
|
||||
thread2:
|
||||
mov $999997,%ecx # load counter
|
||||
thread2_loop:
|
||||
dec %ecx # repeat count times
|
||||
jnz thread2_loop
|
||||
|
||||
mov $5,%ebx # we return 5
|
||||
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
|
||||
# count an additional 500 million
|
||||
|
||||
mov $250000,%ecx # load counter
|
||||
exit_loop:
|
||||
dec %ecx # repeat count times
|
||||
jnz exit_loop
|
||||
|
||||
actual_exit:
|
||||
mov $1,%eax # put exit syscall number (60) in rax
|
||||
int $0x80
|
||||
|
||||
.bss
|
||||
.lcomm new_stack,4096
|
||||
@@ -0,0 +1,58 @@
|
||||
T 4 996 5 2 3 98991
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 1001 2 3 98994
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 15 (Interval Size 100000)
|
||||
# Total instructions: 1501007
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
T 2 3 99996
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 99996 4
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 100000
|
||||
T 99998 2
|
||||
|
||||
|
||||
# Thread 2
|
||||
# Total intervals: 25 (Interval Size 100000)
|
||||
# Total instructions: 2500001
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# Thread 1
|
||||
# Total intervals: 15 (Interval Size 100000)
|
||||
# Total instructions: 1501007
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
# Thread 2
|
||||
# Total intervals: 25 (Interval Size 100000)
|
||||
# Total instructions: 2500001
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: clone_test
|
||||
vgopts: --interval-size=100000 --bb-out-file=clone_test.out.bb --pc-out-file=clone_test.out.pc
|
||||
post: cat clone_test.out.bb clone_test.out.bb.2 | ../filter_bb
|
||||
cleanup: rm clone_test.out.bb
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
#! /bin/sh
|
||||
|
||||
../filter_stderr
|
||||
|
||||
|
||||
@@ -0,0 +1,625 @@
|
||||
#
|
||||
# linux_logo in i386 assembly language
|
||||
# based on the code from ll_asm-0.36
|
||||
#
|
||||
# By Vince Weaver <vince _at_ deater.net>
|
||||
#
|
||||
# Modified to remove non-deterministic system calls
|
||||
# And to avoid reading from /proc
|
||||
#
|
||||
|
||||
.include "logo.include"
|
||||
|
||||
# offsets into the results returned by the uname syscall
|
||||
.equ U_SYSNAME,0
|
||||
.equ U_NODENAME,65
|
||||
.equ U_RELEASE,65*2
|
||||
.equ U_VERSION,(65*3)
|
||||
.equ U_MACHINE,(65*4)
|
||||
.equ U_DOMAINNAME,65*5
|
||||
|
||||
# offset into the results returned by the sysinfo syscall
|
||||
.equ S_TOTALRAM,16
|
||||
|
||||
# Sycscalls
|
||||
.equ SYSCALL_EXIT, 1
|
||||
.equ SYSCALL_WRITE, 4
|
||||
|
||||
#
|
||||
.equ STDIN,0
|
||||
.equ STDOUT,1
|
||||
.equ STDERR,2
|
||||
|
||||
.globl _start
|
||||
_start:
|
||||
#=========================
|
||||
# PRINT LOGO
|
||||
#=========================
|
||||
|
||||
# LZSS decompression algorithm implementation
|
||||
# by Stephan Walter 2002, based on LZSS.C by Haruhiko Okumura 1989
|
||||
# optimized some more by Vince Weaver
|
||||
|
||||
# we used to fill the buffer with FREQUENT_CHAR
|
||||
# but, that only gains us one byte of space in the lzss image.
|
||||
# the lzss algorithm does automatic RLE... pretty clever
|
||||
# so we compress with NUL as FREQUENT_CHAR and it is pre-done for us
|
||||
|
||||
mov $(N-F), %bp # R
|
||||
|
||||
mov $logo, %esi # %esi points to logo (for lodsb)
|
||||
|
||||
mov $out_buffer, %edi # point to out_buffer
|
||||
push %edi # save this value for later
|
||||
|
||||
decompression_loop:
|
||||
lodsb # load in a byte
|
||||
|
||||
mov $0xff, %bh # re-load top as a hackish 8-bit counter
|
||||
mov %al, %bl # move in the flags
|
||||
|
||||
test_flags:
|
||||
cmp $logo_end, %esi # have we reached the end?
|
||||
je done_logo # if so, exit
|
||||
|
||||
shr $1, %ebx # shift bottom bit into carry flag
|
||||
jc discrete_char # if set, we jump to discrete char
|
||||
|
||||
offset_length:
|
||||
lodsw # get match_length and match_position
|
||||
mov %eax,%edx # copy to edx
|
||||
# no need to mask dx, as we do it
|
||||
# by default in output_loop
|
||||
|
||||
shr $(P_BITS),%eax
|
||||
add $(THRESHOLD+1),%al
|
||||
mov %al,%cl # cl = (ax >> P_BITS) + THRESHOLD + 1
|
||||
# (=match_length)
|
||||
|
||||
output_loop:
|
||||
and $POSITION_MASK,%dh # mask it
|
||||
mov text_buf(%edx), %al # load byte from text_buf[]
|
||||
inc %edx # advance pointer in text_buf
|
||||
store_byte:
|
||||
stosb # store it
|
||||
|
||||
mov %al, text_buf(%ebp) # store also to text_buf[r]
|
||||
inc %ebp # r++
|
||||
and $(N-1), %bp # mask r
|
||||
|
||||
loop output_loop # repeat until k>j
|
||||
|
||||
or %bh,%bh # if 0 we shifted through 8 and must
|
||||
jnz test_flags # re-load flags
|
||||
|
||||
jmp decompression_loop
|
||||
|
||||
discrete_char:
|
||||
lodsb # load a byte
|
||||
inc %ecx # we set ecx to one so byte
|
||||
# will be output once
|
||||
# (how do we know ecx is zero?)
|
||||
|
||||
jmp store_byte # and cleverly store it
|
||||
|
||||
|
||||
# end of LZSS code
|
||||
|
||||
done_logo:
|
||||
|
||||
pop %ebp # get out_buffer and keep in bp
|
||||
mov %ebp,%ecx # move out_buffer to ecx
|
||||
|
||||
call write_stdout # print the logo
|
||||
|
||||
#
|
||||
# Setup
|
||||
#
|
||||
setup:
|
||||
mov $strcat,%edx # use edx as call pointer
|
||||
|
||||
|
||||
#==========================
|
||||
# PRINT VERSION
|
||||
#==========================
|
||||
|
||||
# push $SYSCALL_UNAME # uname syscall
|
||||
# pop %eax # in 3 bytes
|
||||
# mov $uname_info,%ebx # uname struct
|
||||
# int $0x80 # do syscall
|
||||
|
||||
mov %ebp,%edi # point %edi to out_buffer
|
||||
|
||||
mov $(uname_info+U_SYSNAME),%esi # os-name from uname "Linux"
|
||||
call *%edx # call strcat
|
||||
|
||||
mov $ver_string,%esi # source is " Version "
|
||||
call *%edx # call strcat
|
||||
push %esi # save our .txt pointer
|
||||
|
||||
mov $(uname_info+U_RELEASE),%esi # version from uname "2.4.1"
|
||||
call *%edx # call strcat
|
||||
|
||||
pop %esi # restore .txt pointer
|
||||
# source is ", Compiled "
|
||||
call *%edx # call strcat
|
||||
push %esi # store for later
|
||||
|
||||
mov $(uname_info+U_VERSION),%esi # compiled date
|
||||
call *%edx # call strcat
|
||||
|
||||
mov %ebp,%ecx # move out_buffer to ecx
|
||||
|
||||
mov $0xa,%ax # store linefeed on end
|
||||
stosw # and zero
|
||||
|
||||
call *%edx # call strcat
|
||||
|
||||
call center_and_print # center and print
|
||||
|
||||
#===============================
|
||||
# Middle-Line
|
||||
#===============================
|
||||
|
||||
#=========
|
||||
# Load /proc/cpuinfo into buffer
|
||||
#=========
|
||||
|
||||
push %edx # save call pointer
|
||||
|
||||
# push $SYSCALL_OPEN # load 5 [ open() ]
|
||||
# pop %eax # in 3 bytes
|
||||
|
||||
# mov $cpuinfo,%ebx # '/proc/cpuinfo'
|
||||
# xor %ecx,%ecx # 0 = O_RDONLY <bits/fcntl.h>
|
||||
# cdq # clear edx in clever way
|
||||
# int $0x80 # syscall. fd in eax.
|
||||
# we should check that eax>=0
|
||||
|
||||
# mov %eax,%ebx # save our fd
|
||||
|
||||
# push $SYSCALL_READ # load 3 = read()
|
||||
# pop %eax # in 3 bytes
|
||||
|
||||
mov $disk_buffer,%ecx
|
||||
|
||||
# mov $16,%dh # 4096 is maximum size of proc file #)
|
||||
# we load sneakily by knowing
|
||||
# 16<<8 = 4096. be sure edx clear
|
||||
|
||||
|
||||
# int $0x80
|
||||
|
||||
# push $SYSCALL_CLOSE # close (to be correct)
|
||||
# pop %eax
|
||||
# int $0x80
|
||||
|
||||
#=============
|
||||
# Number of CPUs
|
||||
#=============
|
||||
number_of_cpus:
|
||||
|
||||
xor %ebx,%ebx # chip count
|
||||
|
||||
# $disk_buffer still in ecx
|
||||
bogo_loop:
|
||||
mov (%ecx), %eax # load 4 bytes into eax
|
||||
inc %ecx # increment pointer
|
||||
|
||||
cmp $0,%al # check for end of file
|
||||
je done_bogo
|
||||
|
||||
# Grrr, due to a bug in binutils 2.18.50.0.9
|
||||
# (which unfortunately shipped with Fedora 10)
|
||||
# http://sourceware.org/bugzilla/show_bug.cgi?id=6878
|
||||
# We can't use the apostrophe character
|
||||
|
||||
# cmp $('o'<<24+'g'<<16+'o'<<8+'b'),%eax
|
||||
cmp $(0x6f<<24+0x67<<16+0x6f<<8+0x62),%eax
|
||||
# "bogo" in little-endian
|
||||
|
||||
jne bogo_loop # if not equal, keep going
|
||||
|
||||
inc %ebx # otherwise, we have a bogo
|
||||
inc %ebx # times two for future magic
|
||||
jmp bogo_loop
|
||||
|
||||
done_bogo:
|
||||
lea one-6(%ebx,%ebx,2), %esi
|
||||
# Load into esi
|
||||
# [one]+(num_cpus*6)
|
||||
#
|
||||
# the above multiplies by three
|
||||
# esi = (ebx+(ebx*2))
|
||||
# and we double-incremented ebx
|
||||
# earlier
|
||||
|
||||
mov %ebp,%edi # move output buffer to edi
|
||||
|
||||
pop %edx # restore call pointer
|
||||
call *%edx # copy it (call strcat)
|
||||
|
||||
# mov $' ',%al # print a space
|
||||
mov $0x20,%al # print a space
|
||||
stosb
|
||||
|
||||
push %ebx # store cpu count
|
||||
push %edx # store strcat pointer
|
||||
|
||||
#=========
|
||||
# MHz
|
||||
#=========
|
||||
print_mhz:
|
||||
# mov $('z'<<24+'H'<<16+'M'<<8+' '),%ebx
|
||||
mov $(0x7a<<24+0x48<<16+0x4d<<8+0x20),%ebx
|
||||
# find ' MHz' and grab up to .
|
||||
# we are little endian
|
||||
# mov $'.',%ah
|
||||
mov $0x2e,%ah
|
||||
|
||||
# below is same as "sub $(strcat-find_string),%edx
|
||||
# gas won't let us force the one-byte constant
|
||||
.byte 0x83,0xEA,strcat-find_string
|
||||
|
||||
call *%edx # call find string
|
||||
|
||||
mov %ebx,%eax # clever way to get MHz in, sadly
|
||||
ror $8,%eax # not any smaller than a mov
|
||||
stosl
|
||||
|
||||
#=========
|
||||
# Chip Name
|
||||
#=========
|
||||
chip_name:
|
||||
|
||||
# because of ugly newer cpuinfos from intel I had to hack this
|
||||
# now we grab the first two words in the name field and use that
|
||||
# it works on all recent Intel and AMD chips. Older things
|
||||
# might choke
|
||||
|
||||
# mov $('e'<<24+'m'<<16+'a'<<8+'n'),%ebx
|
||||
mov $(0x65<<24+0x6d<<16+0x61<<8+0x6e),%ebx
|
||||
# find 'name\t: ' and grab up to \n
|
||||
# we are little endian
|
||||
# mov $' ',%ah
|
||||
mov $0x20,%ah
|
||||
call *%edx # print first word
|
||||
stosb # store a space
|
||||
call skip_spaces # print next word
|
||||
|
||||
pop %edx
|
||||
pop %ebx # restore chip count
|
||||
pop %esi
|
||||
|
||||
call *%edx # ' Processor'
|
||||
cmpb $2,%bl
|
||||
jne print_s
|
||||
inc %esi # if singular, skip the s
|
||||
print_s:
|
||||
call *%edx # 's, '
|
||||
|
||||
push %esi # restore the values
|
||||
push %edx
|
||||
|
||||
#========
|
||||
# RAM
|
||||
#========
|
||||
|
||||
# push $SYSCALL_SYSINFO # sysinfo() syscall
|
||||
# pop %eax
|
||||
# mov $sysinfo_buff,%ebx
|
||||
# int $0x80
|
||||
|
||||
mov (sysinfo_buff+S_TOTALRAM),%eax # size in bytes of RAM
|
||||
shr $20,%eax # divide by 1024*1024 to get M
|
||||
adc $0, %eax # round
|
||||
|
||||
|
||||
call num_to_ascii
|
||||
|
||||
pop %edx # restore strcat pointer
|
||||
|
||||
pop %esi # print 'M RAM, '
|
||||
call *%edx # call strcat
|
||||
|
||||
push %esi
|
||||
|
||||
|
||||
#========
|
||||
# Bogomips
|
||||
#========
|
||||
|
||||
# mov $('s'<<24+'p'<<16+'i'<<8+'m'),%ebx
|
||||
mov $(0x73<<24+0x70<<16+0x69<<8+0x6d),%ebx
|
||||
# find 'mips\t: ' and grab up to \n
|
||||
mov $0xa,%ah
|
||||
call find_string
|
||||
|
||||
pop %esi # bogo total follows RAM
|
||||
|
||||
call *%edx # call strcat
|
||||
|
||||
push %esi
|
||||
|
||||
mov %ebp,%ecx # point ecx to out_buffer
|
||||
|
||||
|
||||
call center_and_print # center and print
|
||||
|
||||
#=================================
|
||||
# Print Host Name
|
||||
#=================================
|
||||
|
||||
mov %ebp,%edi # point to output_buffer
|
||||
|
||||
mov $(uname_info+U_NODENAME),%esi # host name from uname()
|
||||
call *%edx # call strcat
|
||||
|
||||
# ecx is unchanged
|
||||
call center_and_print # center and print
|
||||
|
||||
pop %ecx # (.txt) pointer to default_colors
|
||||
|
||||
call write_stdout
|
||||
|
||||
|
||||
#================================
|
||||
# Exit
|
||||
#================================
|
||||
exit:
|
||||
xor %ebx,%ebx
|
||||
xor %eax,%eax
|
||||
inc %eax # put exit syscall number (1) in eax
|
||||
int $0x80 # and exit
|
||||
|
||||
|
||||
#=================================
|
||||
# FIND_STRING
|
||||
#=================================
|
||||
# ah is char to end at
|
||||
# ebx is 4-char ascii string to look for
|
||||
# edi points at output buffer
|
||||
|
||||
find_string:
|
||||
|
||||
mov $disk_buffer-1,%esi # look in cpuinfo buffer
|
||||
find_loop:
|
||||
inc %esi
|
||||
cmpb $0, (%esi) # are we at EOF?
|
||||
je done # if so, done
|
||||
|
||||
cmp (%esi), %ebx # do the strings match?
|
||||
jne find_loop # if not, loop
|
||||
|
||||
# ! if we get this far, we matched
|
||||
|
||||
find_colon:
|
||||
lodsb # repeat till we find colon
|
||||
cmp $0,%al # this is actually smaller code
|
||||
je done # than an or ecx/repnz scasb
|
||||
|
||||
# cmp $':',%al
|
||||
cmp $0x3a,%al
|
||||
jne find_colon
|
||||
|
||||
|
||||
skip_spaces:
|
||||
lodsb # skip spaces
|
||||
cmp $0x20,%al # Loser new intel chips have lots??
|
||||
je skip_spaces
|
||||
|
||||
store_loop:
|
||||
cmp $0,%al
|
||||
je done
|
||||
cmp %ah,%al # is it end string?
|
||||
je almost_done # if so, finish
|
||||
# cmp $'\n',%al # also end if linefeed
|
||||
cmp $0xa,%al # also end if linefeed
|
||||
je almost_done
|
||||
stosb # if not store and continue
|
||||
lodsb # load value
|
||||
jmp store_loop
|
||||
|
||||
almost_done:
|
||||
|
||||
movb $0, (%edi) # replace last value with NUL
|
||||
done:
|
||||
ret
|
||||
|
||||
|
||||
#================================
|
||||
# strcat
|
||||
#================================
|
||||
|
||||
strcat:
|
||||
lodsb # load a byte from [ds:esi]
|
||||
stosb # store a byte to [es:edi]
|
||||
cmp $0,%al # is it zero?
|
||||
jne strcat # if not loop
|
||||
dec %edi # point to one less than null
|
||||
ret # return
|
||||
|
||||
#==============================
|
||||
# center_and_print
|
||||
#==============================
|
||||
# string to center in ecx
|
||||
|
||||
center_and_print:
|
||||
push %edx
|
||||
push %ecx # save the string pointer
|
||||
inc %edi # move to a clear buffer
|
||||
push %edi # save for later
|
||||
|
||||
# mov $('['<<8+27),%ax # we want to output ^[[
|
||||
mov $(0x5b<<8+27),%ax # we want to output ^[[
|
||||
stosw
|
||||
|
||||
cdq # clear dx
|
||||
|
||||
str_loop2: # find end of string
|
||||
inc %edx
|
||||
cmpb $0,(%ecx,%edx) # repeat till we find zero
|
||||
jne str_loop2
|
||||
|
||||
push $81 # one added to cheat, we don't
|
||||
# count the trailing '\n'
|
||||
pop %eax
|
||||
|
||||
cmp %eax,%edx # see if we are >=80
|
||||
jl not_too_big # if so, don't center
|
||||
push $80
|
||||
pop %edx
|
||||
|
||||
not_too_big:
|
||||
sub %edx,%eax # subtract size from 80
|
||||
|
||||
shr %eax # then divide by 2
|
||||
|
||||
call num_to_ascii # print number of spaces
|
||||
# mov $'C',%al # tack a 'C' on the end
|
||||
mov $0x43,%al # tack a 'C' on the end
|
||||
# ah is zero from num_to_ascii
|
||||
stosw # store C and a NULL
|
||||
pop %ecx # pop the pointer to ^[[xC
|
||||
|
||||
call write_stdout # write to the screen
|
||||
|
||||
done_center:
|
||||
pop %ecx # restore string pointer
|
||||
# and trickily print the real string
|
||||
|
||||
pop %edx
|
||||
|
||||
#================================
|
||||
# WRITE_STDOUT
|
||||
#================================
|
||||
# ecx has string
|
||||
# eax,ebx,ecx,edx trashed
|
||||
write_stdout:
|
||||
push %edx
|
||||
push $SYSCALL_WRITE # put 4 in eax (write syscall)
|
||||
pop %eax # in 3 bytes of code
|
||||
|
||||
cdq # clear edx
|
||||
|
||||
xor %ebx,%ebx # put 1 in ebx (stdout)
|
||||
inc %ebx # in 3 bytes of code
|
||||
|
||||
# another way of doing this: lea 1(%edx), %ebx
|
||||
|
||||
str_loop1:
|
||||
inc %edx
|
||||
cmpb $0,(%ecx,%edx) # repeat till zero
|
||||
jne str_loop1
|
||||
|
||||
int $0x80 # run the syscall
|
||||
pop %edx
|
||||
ret
|
||||
|
||||
##############################
|
||||
# num_to_ascii
|
||||
##############################
|
||||
# ax = value to print
|
||||
# edi points to where we want it
|
||||
|
||||
num_to_ascii:
|
||||
push $10
|
||||
pop %ebx
|
||||
xor %ecx,%ecx # clear ecx
|
||||
div_by_10:
|
||||
cdq # clear edx
|
||||
div %ebx # divide
|
||||
push %edx # save for later
|
||||
inc %ecx # add to length counter
|
||||
or %eax,%eax # was Q zero?
|
||||
jnz div_by_10 # if not divide again
|
||||
|
||||
write_out:
|
||||
pop %eax # restore in reverse order
|
||||
add $0x30, %al # convert to ASCII
|
||||
stosb # save digit
|
||||
loop write_out # loop till done
|
||||
ret
|
||||
|
||||
#===========================================================================
|
||||
# section .data
|
||||
#===========================================================================
|
||||
.data
|
||||
|
||||
ver_string: .ascii " Version \0"
|
||||
compiled_string: .ascii ", Compiled \0"
|
||||
processor: .ascii " Processor\0"
|
||||
s_comma: .ascii "s, \0"
|
||||
ram_comma: .ascii "M RAM, \0"
|
||||
bogo_total: .ascii " Bogomips Total\n\0"
|
||||
|
||||
default_colors: .ascii "\033[0m\n\n\0"
|
||||
|
||||
cpuinfo: .ascii "/proc/cpuinfo\0"
|
||||
|
||||
|
||||
one: .ascii "One\0\0\0"
|
||||
two: .ascii "Two\0\0\0"
|
||||
three: .ascii "Three\0"
|
||||
four: .ascii "Four\0"
|
||||
|
||||
.include "logo.lzss_new"
|
||||
|
||||
disk_buffer:
|
||||
.ascii "processor : 0\n"
|
||||
.ascii "vendor_id : AuthenticAMD\n"
|
||||
.ascii "cpu family : 6\n"
|
||||
.ascii "model : 6\n"
|
||||
.ascii "model name : AMD Athlon(tm) XP 2000+\n"
|
||||
.ascii "stepping : 2\n"
|
||||
.ascii "cpu MHz : 1665.267\n"
|
||||
.ascii "cache size : 256 KB\n"
|
||||
.ascii "fdiv_bug : no\n"
|
||||
.ascii "hlt_bug : no\n"
|
||||
.ascii "f00f_bug : no\n"
|
||||
.ascii "coma_bug : no\n"
|
||||
.ascii "fpu : yes\n"
|
||||
.ascii "fpu_exception : yes\n"
|
||||
.ascii "cpuid level : 1\n"
|
||||
.ascii "wp : yes\n"
|
||||
.ascii "flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow up\n"
|
||||
.ascii "bogomips : 3330.53\n"
|
||||
.ascii "clflush size : 32\n"
|
||||
.ascii "power management: ts\n\0"
|
||||
|
||||
uname_info:
|
||||
.ascii "Linux\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "tobler\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "2.6.29\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "#1 SMP Mon May 4 09:51:54 EDT 2009\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
.ascii "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||
|
||||
|
||||
sysinfo_buff:
|
||||
.long 0,0,0,0,512*1024*1024,0,0,0,0
|
||||
.long 0,0,0,0,0,0,0,0,0
|
||||
|
||||
#============================================================================
|
||||
# section .bss
|
||||
#============================================================================
|
||||
.bss
|
||||
|
||||
.lcomm text_buf, (N+F-1)
|
||||
.lcomm out_buffer,16384
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
T:1:9 :7:10 :5:38 :2:44 :8:65 :9:663 :4:119 :6:2 :3:51
|
||||
T:7:5 :5:16 :2:18 :8:52 :9:858 :4:35 :6:1 :3:15
|
||||
T:7:5 :5:16 :2:18 :8:52 :9:858 :4:35 :6:1 :3:15
|
||||
T:7:5 :5:14 :2:16 :8:91 :9:863 :4:7 :6:1 :3:3
|
||||
T:7:5 :5:12 :2:14 :8:78 :9:880 :4:7 :6:1 :3:3
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:7:5 :5:10 :2:11 :8:65 :9:908 :6:1
|
||||
T:7:5 :5:14 :2:17 :8:117 :9:846 :6:1
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:8 :2:10 :8:65 :9:911 :6:1
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:5:6 :2:6 :8:39 :9:949
|
||||
T:7:5 :5:6 :2:8 :8:52 :9:928 :6:1
|
||||
T:5:4 :2:4 :8:26 :9:966
|
||||
T:7:5 :5:12 :2:14 :8:78 :9:880 :4:7 :6:1 :3:3
|
||||
T:5:6 :2:6 :8:39 :9:949
|
||||
T:7:5 :5:8 :2:10 :8:65 :9:911 :6:1
|
||||
T:7:5 :5:14 :2:16 :8:91 :9:863 :4:7 :6:1 :3:3
|
||||
T:5:8 :2:8 :8:52 :9:932
|
||||
T:7:5 :5:10 :2:12 :8:78 :9:894 :6:1
|
||||
T:7:5 :5:10 :2:12 :8:75 :9:897 :6:1
|
||||
T:5:12 :2:12 :8:81 :9:895
|
||||
T:7:5 :5:8 :2:8 :8:39 :9:389 :4:7 :6:1 :3:3 :10:3 :11:9 :12:528
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:12:1000
|
||||
T:15:4 :18:2 :19:3 :20:2 :21:3 :22:4 :16:283 :17:10 :12:686 :13:1 :14:2
|
||||
T:23:1 :32:7 :34:352 :33:177 :16:1 :17:2 :24:10 :25:195 :26:4 :27:3 :30:4 :31:11 :11:9 :12:204 :13:2 :14:4 :28:9 :29:5
|
||||
T:34:667 :33:333
|
||||
T:34:665 :33:332 :35:3
|
||||
T:34:128 :33:64 :36:4 :37:8 :49:6 :38:8 :40:407 :39:274 :41:21 :42:14 :43:6 :44:10 :45:10 :46:8 :47:12 :48:2 :16:16 :17:2
|
||||
T:50:2 :51:4 :52:2 :53:2 :54:6 :56:3 :57:4 :38:4 :40:405 :39:272 :41:18 :42:12 :43:9 :44:30 :45:30 :46:26 :47:39 :48:4 :16:88 :17:6 :28:9 :55:12 :29:13
|
||||
T:40:600 :39:400
|
||||
T:58:2 :59:3 :40:352 :39:236 :41:18 :42:12 :43:6 :44:16 :45:16 :46:14 :47:21 :48:2 :16:68 :17:2 :24:10 :25:210 :26:4 :27:3 :28:5
|
||||
|
||||
|
||||
# Thread 1
|
||||
# Total intervals: 39 (Interval Size 1000)
|
||||
# Total instructions: 39439
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
# Thread 1
|
||||
# Total intervals: 39 (Interval Size 1000)
|
||||
# Total instructions: 39439
|
||||
# Total reps: 0
|
||||
# Unique reps: 0
|
||||
# Total fldcw instructions: 0
|
||||
@@ -0,0 +1,17 @@
|
||||
[0;1;37;47m#################################################################[0;30;47m#####[1;37m#########[1;37;40m
|
||||
[0;1;37;47m################################################################[0;30;47m#######[1;37m########[1;37;40m
|
||||
[0;1;37;47m###################[31m#[37m############################################[0;30;47m##[1;37mO[0;30;47m#[1;37mO[0;30;47m##[1;37m########[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m######[1;37m##########[31m##[0;30;47m#[1;37m###########################################[0;30;47m#[1;33m#####[0;30;47m#[1;37m########[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#############[0;30;47m#[1;37m##########################################[0;30;47m##[1;37m##[33m###[37m##[0;30;47m##[1;37m######[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#########[31m###[37m###[0;30;47m###[1;37m#[0;30;47m####[1;37m###[0;30;47m###[1;37m####[0;30;47m###[1;37m##[0;30;47m#####[1;37m#[0;30;47m######[1;37m#####[0;30;47m#[1;37m##########[0;30;47m##[1;37m#####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m########[31m#[37m##[31m#[0;30;47m#[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m#######[0;30;47m#[1;37m############[0;30;47m##[1;37m####[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[31m#[37m###[31m#[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m#########[0;30;47m#[1;37m############[0;30;47m###[1;37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m##########[31m##[0;30;47m#[1;37m###[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m######[0;30;47m###[1;37m########[33m##[0;30;47m#[1;37m###########[0;30;47m##[1;33m#[37m###[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m#######[0;30;47m#[1;37m#[31m##[0;30;47m#[1;37m####[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m#####[0;30;47m##[1;37m#[0;30;47m##[1;37m#####[33m######[0;30;47m#[1;37m#######[30m#[33m######[37m#[1;37;40m
|
||||
[0;1;37;47m####[0;30;47m##[1;37m######[0;30;47m##[1;37m#[31m##[0;30;47m#[1;37m#[0;30;47m#[1;37m##[0;30;47m##[1;37m#####[0;30;47m##[1;37m##[0;30;47m###[1;37m###[0;30;47m###[1;37m####[0;30;47m##[1;37m###[0;30;47m##[1;37m####[33m#######[0;30;47m#[1;37m#####[0;30;47m#[1;33m#######[37m#[1;37;40m
|
||||
[0;1;37;47m##[0;30;47m############[1;37m##[0;30;47m###[1;37m##[0;30;47m####[1;37m###[0;30;47m####[1;37m###[0;30;47m####[1;37m#[0;30;47m###[1;37m#[0;30;47m#####[1;37m#[0;30;47m######[1;37m###[33m#####[30m#[0;30;47m#####[1m#[33m#####[37m###[1;37;40m
|
||||
|
||||
[7CLinux Version 2.6.29, Compiled #1 SMP Mon May 4 09:51:54 EDT 2009
|
||||
[5COne 1665MHz AMD Athlon(tm) Processor, 512M RAM, 3330.53 Bogomips Total
|
||||
[37Ctobler[0m
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
prog: ll
|
||||
vgopts: --interval-size=1000 --bb-out-file=ll.out.bb
|
||||
post: cat ll.out.bb
|
||||
cleanup: rm ll.out.bb
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1 @@
|
||||
# dummy
|
||||
@@ -0,0 +1,951 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# exp-bbv/tests/x86/Makefile. Generated from Makefile.in by configure.
|
||||
|
||||
# Copyright (C) 1994-2013 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.
|
||||
|
||||
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/valgrind
|
||||
pkgincludedir = $(includedir)/valgrind
|
||||
pkglibdir = $(libdir)/valgrind
|
||||
pkglibexecdir = $(libexecdir)/valgrind
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = i686-pc-linux-gnu
|
||||
host_triplet = i686-pc-linux-gnu
|
||||
DIST_COMMON = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
#am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
# -Wno-tautological-compare
|
||||
|
||||
#am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
#am__append_3 = -nostdlib
|
||||
#am__append_4 = -DVGA_SEC_=1 \
|
||||
# -DVGP_SEC_x86_linux=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
#am__append_5 = -D_REENTRANT
|
||||
#am__append_6 = -Wno-format-extra-args \
|
||||
# -Wno-literal-range \
|
||||
# -Wno-tautological-constant-out-of-range-compare \
|
||||
# -Wno-self-assign -Wno-string-plus-int \
|
||||
# -Wno-uninitialized -Wno-unused-value # \
|
||||
# clang 3.0.0
|
||||
#am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) rep_prefix$(EXEEXT) \
|
||||
fldcw_check$(EXEEXT) complex_rep$(EXEEXT)
|
||||
subdir = exp-bbv/tests/x86
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_complex_rep_OBJECTS = complex_rep.$(OBJEXT)
|
||||
complex_rep_OBJECTS = $(am_complex_rep_OBJECTS)
|
||||
complex_rep_LDADD = $(LDADD)
|
||||
am_fldcw_check_OBJECTS = fldcw_check.$(OBJEXT)
|
||||
fldcw_check_OBJECTS = $(am_fldcw_check_OBJECTS)
|
||||
fldcw_check_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
am_rep_prefix_OBJECTS = rep_prefix.$(OBJEXT)
|
||||
rep_prefix_OBJECTS = $(am_rep_prefix_OBJECTS)
|
||||
rep_prefix_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_$(V))
|
||||
am__v_P_ = $(am__v_P_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_$(V))
|
||||
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_$(V))
|
||||
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I. -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_$(V))
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_$(V))
|
||||
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_$(V))
|
||||
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(complex_rep_SOURCES) $(fldcw_check_SOURCES) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
DIST_SOURCES = $(complex_rep_SOURCES) $(fldcw_check_SOURCES) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = ${SHELL} /root/03_day/valgrind-3.11.0/missing aclocal-1.14
|
||||
AMTAR = $${TAR-tar}
|
||||
AM_DEFAULT_VERBOSITY = 1
|
||||
AR = /usr/bin/ar
|
||||
AUTOCONF = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoconf
|
||||
AUTOHEADER = ${SHELL} /root/03_day/valgrind-3.11.0/missing autoheader
|
||||
AUTOMAKE = ${SHELL} /root/03_day/valgrind-3.11.0/missing automake-1.14
|
||||
AWK = gawk
|
||||
BOOST_CFLAGS =
|
||||
BOOST_LIBS =
|
||||
CC = gcc
|
||||
CCAS = gcc
|
||||
CCASDEPMODE = depmode=gcc3
|
||||
CCASFLAGS =
|
||||
CCDEPMODE = depmode=gcc3
|
||||
CFLAGS =
|
||||
CFLAGS_MPI = -g -O -fno-omit-frame-pointer -Wall -fpic
|
||||
CPP = gcc -E
|
||||
CPPFLAGS =
|
||||
CXX = g++
|
||||
CXXDEPMODE = depmode=gcc3
|
||||
CXXFLAGS =
|
||||
CYGPATH_W = echo
|
||||
DEFAULT_SUPP = exp-sgcheck.supp xfree-3.supp xfree-4.supp glibc-2.X-drd.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.X.supp
|
||||
DEFS = -DHAVE_CONFIG_H
|
||||
DEPDIR = .deps
|
||||
DIFF = diff -u
|
||||
DIS_PATH =
|
||||
ECHO_C =
|
||||
ECHO_N = -n
|
||||
ECHO_T =
|
||||
EGREP = /bin/grep -E
|
||||
EXEEXT =
|
||||
FLAG_FNO_IPA_ICF = -fno-ipa-icf
|
||||
FLAG_FNO_STACK_PROTECTOR = -fno-stack-protector
|
||||
FLAG_FSANITIZE =
|
||||
FLAG_M32 = -m32
|
||||
FLAG_M64 = -m64
|
||||
FLAG_MIPS32 =
|
||||
FLAG_MIPS64 =
|
||||
FLAG_MLONG_DOUBLE_128 = -mlong-double-128
|
||||
FLAG_MMMX = -mmmx
|
||||
FLAG_MSSE = -msse
|
||||
FLAG_NO_BUILD_ID =
|
||||
FLAG_OCTEON =
|
||||
FLAG_OCTEON2 =
|
||||
FLAG_T_TEXT = -Ttext-segment
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = --param inline-unit-growth=900
|
||||
FLAG_W_CAST_ALIGN = -Wcast-align
|
||||
FLAG_W_CAST_QUAL = -Wcast-qual
|
||||
FLAG_W_EMPTY_BODY = -Wempty-body
|
||||
FLAG_W_EXTRA = -Wextra
|
||||
FLAG_W_FORMAT = -Wformat
|
||||
FLAG_W_FORMAT_SECURITY = -Wformat-security
|
||||
FLAG_W_FORMAT_SIGNEDNESS =
|
||||
FLAG_W_IGNORED_QUALIFIERS = -Wignored-qualifiers
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = -Wmissing-parameter-type
|
||||
FLAG_W_NO_INFINITE_RECURSION =
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = -Wno-memset-transposed-args
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE =
|
||||
FLAG_W_NO_NONNULL = -Wno-nonnull
|
||||
FLAG_W_NO_OVERFLOW = -Wno-overflow
|
||||
FLAG_W_NO_POINTER_SIGN = -Wno-pointer-sign
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE =
|
||||
FLAG_W_NO_UNINITIALIZED = -Wno-uninitialized
|
||||
FLAG_W_NO_UNUSED_FUNCTION = -Wno-unused-function
|
||||
FLAG_W_OLD_STYLE_DECLARATION = -Wold-style-declaration
|
||||
FLAG_W_WRITE_STRINGS = -Wwrite-strings
|
||||
GDB = /usr/bin/gdb
|
||||
GLIBC_VERSION = 2.21
|
||||
GREP = /bin/grep
|
||||
HWCAP_HAS_ALTIVEC =
|
||||
HWCAP_HAS_DFP =
|
||||
HWCAP_HAS_HTM =
|
||||
HWCAP_HAS_ISA_2_05 =
|
||||
HWCAP_HAS_ISA_2_06 =
|
||||
HWCAP_HAS_ISA_2_07 =
|
||||
HWCAP_HAS_VSX =
|
||||
INSTALL = /usr/bin/install -c
|
||||
INSTALL_DATA = ${INSTALL} -m 644
|
||||
INSTALL_PROGRAM = ${INSTALL}
|
||||
INSTALL_SCRIPT = ${INSTALL}
|
||||
INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
|
||||
LDFLAGS = -m32 -static -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = -fpic -shared
|
||||
LIBOBJS =
|
||||
LIBS =
|
||||
LIB_UBSAN =
|
||||
LN_S = ln -s
|
||||
LTLIBOBJS =
|
||||
MAINT = #
|
||||
MAKEINFO = ${SHELL} /root/03_day/valgrind-3.11.0/missing makeinfo
|
||||
MKDIR_P = /bin/mkdir -p
|
||||
MPI_CC = mpicc
|
||||
OBJEXT = o
|
||||
PACKAGE = valgrind
|
||||
PACKAGE_BUGREPORT = valgrind-users@lists.sourceforge.net
|
||||
PACKAGE_NAME = Valgrind
|
||||
PACKAGE_STRING = Valgrind 3.11.0
|
||||
PACKAGE_TARNAME = valgrind
|
||||
PACKAGE_URL =
|
||||
PACKAGE_VERSION = 3.11.0
|
||||
PATH_SEPARATOR = :
|
||||
PERL = /usr/bin/perl
|
||||
PREFERRED_STACK_BOUNDARY_2 = -mpreferred-stack-boundary=2
|
||||
RANLIB = ranlib
|
||||
SED = /bin/sed
|
||||
SET_MAKE =
|
||||
SHELL = /bin/bash
|
||||
STRIP =
|
||||
VALT_LOAD_ADDRESS_PRI = 0x38000000
|
||||
VALT_LOAD_ADDRESS_SEC = 0xUNSET
|
||||
VERSION = 3.11.0
|
||||
VGCONF_ARCH_PRI = x86
|
||||
VGCONF_ARCH_SEC =
|
||||
VGCONF_OS = linux
|
||||
VGCONF_PLATFORM_PRI_CAPS = X86_LINUX
|
||||
VGCONF_PLATFORM_SEC_CAPS =
|
||||
VGCONF_PLATVARIANT = vanilla
|
||||
VG_TMPDIR = /tmp
|
||||
abs_builddir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/x86
|
||||
abs_srcdir = /root/03_day/valgrind-3.11.0/exp-bbv/tests/x86
|
||||
abs_top_builddir = /root/03_day/valgrind-3.11.0
|
||||
abs_top_srcdir = /root/03_day/valgrind-3.11.0
|
||||
ac_ct_CC = gcc
|
||||
ac_ct_CXX = g++
|
||||
am__include = include
|
||||
am__leading_dot = .
|
||||
am__quote =
|
||||
am__tar = $${TAR-tar} chof - "$$tardir"
|
||||
am__untar = $${TAR-tar} xf -
|
||||
bindir = ${exec_prefix}/bin
|
||||
build = i686-pc-linux-gnu
|
||||
build_alias =
|
||||
build_cpu = i686
|
||||
build_os = linux-gnu
|
||||
build_vendor = pc
|
||||
builddir = .
|
||||
datadir = ${datarootdir}
|
||||
datarootdir = ${prefix}/share
|
||||
docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
|
||||
dvidir = ${docdir}
|
||||
exec_prefix = ${prefix}
|
||||
host = i686-pc-linux-gnu
|
||||
host_alias =
|
||||
host_cpu = i686
|
||||
host_os = linux-gnu
|
||||
host_vendor = pc
|
||||
htmldir = ${docdir}
|
||||
includedir = ${prefix}/include
|
||||
infodir = ${datarootdir}/info
|
||||
install_sh = ${SHELL} /root/03_day/valgrind-3.11.0/install-sh
|
||||
libdir = ${exec_prefix}/lib
|
||||
libexecdir = ${exec_prefix}/libexec
|
||||
localedir = ${datarootdir}/locale
|
||||
localstatedir = ${prefix}/var
|
||||
mandir = ${datarootdir}/man
|
||||
mkdir_p = $(MKDIR_P)
|
||||
oldincludedir = /usr/include
|
||||
pdfdir = ${docdir}
|
||||
prefix = /usr/local
|
||||
program_transform_name = s,x,x,
|
||||
psdir = ${docdir}
|
||||
sbindir = ${exec_prefix}/sbin
|
||||
sharedstatedir = ${prefix}/com
|
||||
srcdir = .
|
||||
sysconfdir = ${prefix}/etc
|
||||
target_alias =
|
||||
top_build_prefix = ../../../
|
||||
top_builddir = ../../..
|
||||
top_srcdir = ../../..
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wcast-align -Wcast-qual -Wwrite-strings \
|
||||
-Wempty-body -Wformat \
|
||||
-Wformat-security -Wignored-qualifiers \
|
||||
-Wmissing-parameter-type -Wold-style-declaration \
|
||||
-fno-stack-protector \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
-fpic -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
#AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
# -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
# -fpic -fPIC -fno-builtin -fno-ipa-icf
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_X86_LINUX = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 \
|
||||
-DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1
|
||||
|
||||
#AM_CPPFLAGS_ = \
|
||||
# -I$(top_srcdir) \
|
||||
# -I$(top_srcdir)/include \
|
||||
# -I$(top_srcdir)/VEX/pub \
|
||||
# -I$(top_builddir)/VEX/pub \
|
||||
# -DVGA_=1 \
|
||||
# -DVGO_linux=1 \
|
||||
# -DVGP__linux=1 \
|
||||
# -DVGPV__linux_vanilla=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = -m32
|
||||
AM_CFLAGS_X86_LINUX = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = -m64
|
||||
AM_CFLAGS_AMD64_LINUX = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = -m32
|
||||
AM_CFLAGS_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = -m64
|
||||
AM_CFLAGS_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_ARM_LINUX = -m32
|
||||
AM_CFLAGS_ARM_LINUX = -m32 \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = -m32 \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = -m64
|
||||
AM_CFLAGS_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = -m64 -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = -m64
|
||||
AM_CFLAGS_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = -m64 -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = -m32
|
||||
AM_CFLAGS_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = -m32 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = -m32 -g
|
||||
AM_FLAG_M3264_MIPS64_LINUX = -m64
|
||||
AM_CFLAGS_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = -m64 $(AM_CFLAGS_BASE) \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = -m64 -g
|
||||
AM_CFLAGS_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = -m32
|
||||
AM_CFLAGS_X86_SOLARIS = -m32 -mpreferred-stack-boundary=2 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = -m32 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = -m32 -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = -m64
|
||||
AM_CFLAGS_AMD64_SOLARIS = -m64 \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = -m64 $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = -m64 -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_X86_LINUX)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_X86_LINUX)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_X86_LINUX)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_X86_LINUX)
|
||||
AM_FLAG_M3264_SEC =
|
||||
#AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m32
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) -m64
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m32
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) -m64
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_x86=1 -DVGO_linux=1 \
|
||||
-DVGP_x86_linux=1 \
|
||||
-DVGPV_x86_linux_vanilla=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
-fno-stack-protector $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding -m32
|
||||
#noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: # $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/x86/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/x86/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(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
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
complex_rep$(EXEEXT): $(complex_rep_OBJECTS) $(complex_rep_DEPENDENCIES) $(EXTRA_complex_rep_DEPENDENCIES)
|
||||
@rm -f complex_rep$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(complex_rep_OBJECTS) $(complex_rep_LDADD) $(LIBS)
|
||||
|
||||
fldcw_check$(EXEEXT): $(fldcw_check_OBJECTS) $(fldcw_check_DEPENDENCIES) $(EXTRA_fldcw_check_DEPENDENCIES)
|
||||
@rm -f fldcw_check$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fldcw_check_OBJECTS) $(fldcw_check_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
rep_prefix$(EXEEXT): $(rep_prefix_OBJECTS) $(rep_prefix_DEPENDENCIES) $(EXTRA_rep_prefix_DEPENDENCIES)
|
||||
@rm -f rep_prefix$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(rep_prefix_OBJECTS) $(rep_prefix_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
include ./$(DEPDIR)/complex_rep.Po
|
||||
include ./$(DEPDIR)/fldcw_check.Po
|
||||
include ./$(DEPDIR)/million.Po
|
||||
include ./$(DEPDIR)/rep_prefix.Po
|
||||
|
||||
.S.o:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
$(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
# $(AM_V_CPPAS)source='$<' object='$@' libtool=no \
|
||||
# DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) \
|
||||
# $(AM_V_CPPAS_no)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
@@ -0,0 +1,28 @@
|
||||
include $(top_srcdir)/Makefile.tool-tests.am
|
||||
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
|
||||
check_PROGRAMS = \
|
||||
million rep_prefix fldcw_check complex_rep
|
||||
|
||||
EXTRA_DIST = \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
AM_CCASFLAGS += -ffreestanding
|
||||
|
||||
LDFLAGS += @FLAG_M32@ -static -nostartfiles -nodefaultlibs
|
||||
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
|
||||
AM_CCASFLAGS += @FLAG_M32@
|
||||
@@ -0,0 +1,951 @@
|
||||
# Makefile.in generated by automake 1.14.1 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994-2013 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@
|
||||
|
||||
# This file is used for tool tests, and also in perf/Makefile.am.
|
||||
|
||||
# This file should be included (directly or indirectly) by every
|
||||
# Makefile.am that builds programs. And also the top-level Makefile.am.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Global stuff
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
VPATH = @srcdir@
|
||||
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
|
||||
am__make_running_with_option = \
|
||||
case $${target_option-} in \
|
||||
?) ;; \
|
||||
*) echo "am__make_running_with_option: internal error: invalid" \
|
||||
"target option '$${target_option-}' specified" >&2; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
has_opt=no; \
|
||||
sane_makeflags=$$MAKEFLAGS; \
|
||||
if $(am__is_gnu_make); then \
|
||||
sane_makeflags=$$MFLAGS; \
|
||||
else \
|
||||
case $$MAKEFLAGS in \
|
||||
*\\[\ \ ]*) \
|
||||
bs=\\; \
|
||||
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
|
||||
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
|
||||
esac; \
|
||||
fi; \
|
||||
skip_next=no; \
|
||||
strip_trailopt () \
|
||||
{ \
|
||||
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
|
||||
}; \
|
||||
for flg in $$sane_makeflags; do \
|
||||
test $$skip_next = yes && { skip_next=no; continue; }; \
|
||||
case $$flg in \
|
||||
*=*|--*) continue;; \
|
||||
-*I) strip_trailopt 'I'; skip_next=yes;; \
|
||||
-*I?*) strip_trailopt 'I';; \
|
||||
-*O) strip_trailopt 'O'; skip_next=yes;; \
|
||||
-*O?*) strip_trailopt 'O';; \
|
||||
-*l) strip_trailopt 'l'; skip_next=yes;; \
|
||||
-*l?*) strip_trailopt 'l';; \
|
||||
-[dEDm]) skip_next=yes;; \
|
||||
-[JT]) skip_next=yes;; \
|
||||
esac; \
|
||||
case $$flg in \
|
||||
*$$target_option*) has_opt=yes; break;; \
|
||||
esac; \
|
||||
done; \
|
||||
test $$has_opt = yes
|
||||
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
|
||||
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkglibexecdir = $(libexecdir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
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 = $(top_srcdir)/Makefile.tool-tests.am \
|
||||
$(top_srcdir)/Makefile.all.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
|
||||
$(top_srcdir)/depcomp
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-compare
|
||||
|
||||
@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile
|
||||
|
||||
# The Android toolchain includes all kinds of stdlib helpers present in
|
||||
# bionic which is bad because we are not linking with it and the Android
|
||||
# linker will panic.
|
||||
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_3 = -nostdlib
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1
|
||||
|
||||
|
||||
# Make sure that all test programs have threaded errno.
|
||||
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-literal-range \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-tautological-constant-out-of-range-compare \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-self-assign -Wno-string-plus-int \
|
||||
@COMPILER_IS_CLANG_TRUE@ -Wno-uninitialized -Wno-unused-value # \
|
||||
@COMPILER_IS_CLANG_TRUE@ clang 3.0.0
|
||||
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field # drd/tests/tsan_unittest.cpp
|
||||
check_PROGRAMS = million$(EXEEXT) rep_prefix$(EXEEXT) \
|
||||
fldcw_check$(EXEEXT) complex_rep$(EXEEXT)
|
||||
subdir = exp-bbv/tests/x86
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = $(top_builddir)/config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
am_complex_rep_OBJECTS = complex_rep.$(OBJEXT)
|
||||
complex_rep_OBJECTS = $(am_complex_rep_OBJECTS)
|
||||
complex_rep_LDADD = $(LDADD)
|
||||
am_fldcw_check_OBJECTS = fldcw_check.$(OBJEXT)
|
||||
fldcw_check_OBJECTS = $(am_fldcw_check_OBJECTS)
|
||||
fldcw_check_LDADD = $(LDADD)
|
||||
am_million_OBJECTS = million.$(OBJEXT)
|
||||
million_OBJECTS = $(am_million_OBJECTS)
|
||||
million_LDADD = $(LDADD)
|
||||
am_rep_prefix_OBJECTS = rep_prefix.$(OBJEXT)
|
||||
rep_prefix_OBJECTS = $(am_rep_prefix_OBJECTS)
|
||||
rep_prefix_LDADD = $(LDADD)
|
||||
SCRIPTS = $(dist_noinst_SCRIPTS)
|
||||
AM_V_P = $(am__v_P_@AM_V@)
|
||||
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
|
||||
am__v_P_0 = false
|
||||
am__v_P_1 = :
|
||||
AM_V_GEN = $(am__v_GEN_@AM_V@)
|
||||
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
|
||||
am__v_GEN_0 = @echo " GEN " $@;
|
||||
am__v_GEN_1 =
|
||||
AM_V_at = $(am__v_at_@AM_V@)
|
||||
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
|
||||
am__v_at_0 = @
|
||||
am__v_at_1 =
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
am__mv = mv -f
|
||||
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
|
||||
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
|
||||
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
|
||||
am__v_CPPAS_0 = @echo " CPPAS " $@;
|
||||
am__v_CPPAS_1 =
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
AM_V_CC = $(am__v_CC_@AM_V@)
|
||||
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
|
||||
am__v_CC_0 = @echo " CC " $@;
|
||||
am__v_CC_1 =
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
|
||||
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
|
||||
am__v_CCLD_0 = @echo " CCLD " $@;
|
||||
am__v_CCLD_1 =
|
||||
SOURCES = $(complex_rep_SOURCES) $(fldcw_check_SOURCES) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
DIST_SOURCES = $(complex_rep_SOURCES) $(fldcw_check_SOURCES) \
|
||||
$(million_SOURCES) $(rep_prefix_SOURCES)
|
||||
am__can_run_installinfo = \
|
||||
case $$AM_UPDATE_INFO_DIR in \
|
||||
n|no|NO) false;; \
|
||||
*) (install-info --version) >/dev/null 2>&1;; \
|
||||
esac
|
||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||
# Read a list of newline-separated strings from the standard input,
|
||||
# and print each of them once, without duplicates. Input order is
|
||||
# *not* preserved.
|
||||
am__uniquify_input = $(AWK) '\
|
||||
BEGIN { nonempty = 0; } \
|
||||
{ items[$$0] = 1; nonempty = 1; } \
|
||||
END { if (nonempty) { for (i in items) print i; }; } \
|
||||
'
|
||||
# Make sure the list of sources is unique. This is necessary because,
|
||||
# e.g., the same source file might be shared among _SOURCES variables
|
||||
# for different programs/libraries.
|
||||
am__define_uniq_tagged_files = \
|
||||
list='$(am__tagged_files)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | $(am__uniquify_input)`
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
BOOST_CFLAGS = @BOOST_CFLAGS@
|
||||
BOOST_LIBS = @BOOST_LIBS@
|
||||
CC = @CC@
|
||||
CCAS = @CCAS@
|
||||
CCASDEPMODE = @CCASDEPMODE@
|
||||
CCASFLAGS = @CCASFLAGS@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CFLAGS_MPI = @CFLAGS_MPI@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFAULT_SUPP = @DEFAULT_SUPP@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
DIFF = @DIFF@
|
||||
DIS_PATH = @DIS_PATH@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
|
||||
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
|
||||
FLAG_FSANITIZE = @FLAG_FSANITIZE@
|
||||
FLAG_M32 = @FLAG_M32@
|
||||
FLAG_M64 = @FLAG_M64@
|
||||
FLAG_MIPS32 = @FLAG_MIPS32@
|
||||
FLAG_MIPS64 = @FLAG_MIPS64@
|
||||
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
|
||||
FLAG_MMMX = @FLAG_MMMX@
|
||||
FLAG_MSSE = @FLAG_MSSE@
|
||||
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
|
||||
FLAG_OCTEON = @FLAG_OCTEON@
|
||||
FLAG_OCTEON2 = @FLAG_OCTEON2@
|
||||
FLAG_T_TEXT = @FLAG_T_TEXT@
|
||||
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
|
||||
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
|
||||
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
|
||||
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
|
||||
FLAG_W_EXTRA = @FLAG_W_EXTRA@
|
||||
FLAG_W_FORMAT = @FLAG_W_FORMAT@
|
||||
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
|
||||
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
|
||||
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
|
||||
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
|
||||
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
|
||||
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
|
||||
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
|
||||
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
|
||||
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
|
||||
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
|
||||
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
|
||||
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
|
||||
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
|
||||
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
|
||||
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
|
||||
GDB = @GDB@
|
||||
GLIBC_VERSION = @GLIBC_VERSION@
|
||||
GREP = @GREP@
|
||||
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
|
||||
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
|
||||
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
|
||||
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
|
||||
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
|
||||
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
|
||||
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@ @FLAG_M32@ -static -nostartfiles -nodefaultlibs
|
||||
LDFLAGS_MPI = @LDFLAGS_MPI@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIB_UBSAN = @LIB_UBSAN@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAINT = @MAINT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
MPI_CC = @MPI_CC@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_URL = @PACKAGE_URL@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
PERL = @PERL@
|
||||
PREFERRED_STACK_BOUNDARY_2 = @PREFERRED_STACK_BOUNDARY_2@
|
||||
RANLIB = @RANLIB@
|
||||
SED = @SED@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
|
||||
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
|
||||
VERSION = @VERSION@
|
||||
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
|
||||
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
|
||||
VGCONF_OS = @VGCONF_OS@
|
||||
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
|
||||
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
|
||||
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
|
||||
VG_TMPDIR = @VG_TMPDIR@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
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@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
inplacedir = $(top_builddir)/.in_place
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# Flags
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# Baseline flags for all compilations. Aim here is to maximise
|
||||
# performance and get whatever useful warnings we can out of gcc.
|
||||
# -fno-builtin is important for defeating LLVM's idiom recognition
|
||||
# that somehow causes VG_(memset) to get into infinite recursion.
|
||||
AM_CFLAGS_BASE = -O2 -g -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
|
||||
-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
|
||||
@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
|
||||
@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
|
||||
@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
|
||||
@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
|
||||
-fno-strict-aliasing -fno-builtin $(am__append_1)
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_FALSE@ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# These flags are used for building the preload shared objects (PSOs).
|
||||
# The aim is to give reasonable performance but also to have good
|
||||
# stack traces, since users often see stack traces extending
|
||||
# into (and through) the preloads. Also, we must use any
|
||||
# -mpreferred-stack-boundary flag to build the preload shared
|
||||
# objects, since that risks misaligning the client's stack and
|
||||
# results in segfaults like (eg) #324050.
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
|
||||
|
||||
|
||||
# Flags for specific targets.
|
||||
#
|
||||
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
|
||||
# For building the core, coregrind/Makefile.am files add some extra things.
|
||||
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
|
||||
-I$(top_srcdir) \
|
||||
-I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/VEX/pub \
|
||||
-I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 \
|
||||
-DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir) \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/include \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_srcdir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -I$(top_builddir)/VEX/pub \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGA_@VGCONF_ARCH_SEC@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGO_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@ -DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1
|
||||
|
||||
AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_X86_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
|
||||
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8
|
||||
|
||||
AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
|
||||
-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
|
||||
-marm -mcpu=cortex-a8 -g
|
||||
|
||||
AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
|
||||
AM_FLAG_M3264_X86_DARWIN = -arch i386
|
||||
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 \
|
||||
-fno-stack-protector -fno-pic -fno-PIC
|
||||
|
||||
AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
|
||||
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
|
||||
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
|
||||
-mmacosx-version-min=10.5 -fno-stack-protector
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
|
||||
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
AM_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
|
||||
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
|
||||
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@
|
||||
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
|
||||
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
|
||||
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
|
||||
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
|
||||
$(AM_CFLAGS_PSO_BASE)
|
||||
|
||||
AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
|
||||
AM_CFLAGS_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
|
||||
AM_CFLAGS_PSO_TILEGX_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
|
||||
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
|
||||
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
|
||||
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
|
||||
$(AM_CFLAGS_BASE) -fomit-frame-pointer
|
||||
|
||||
AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
|
||||
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM
|
||||
|
||||
# Flags for the primary target. These must be used to build the
|
||||
# regtests and performance tests. In fact, these must be used to
|
||||
# build anything which is built only once on a dual-arch build.
|
||||
#
|
||||
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
|
||||
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC =
|
||||
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)
|
||||
|
||||
# Baseline link flags for making vgpreload shared objects.
|
||||
#
|
||||
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_3)
|
||||
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
|
||||
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
|
||||
-Wl,-z,interpose,-z,initfirst $(am__append_2)
|
||||
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
|
||||
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
|
||||
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_TILEGX_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
|
||||
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
|
||||
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
|
||||
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
|
||||
-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
|
||||
-I$(top_srcdir)/VEX/pub -I$(top_builddir)/VEX/pub \
|
||||
-DVGA_@VGCONF_ARCH_PRI@=1 -DVGO_@VGCONF_OS@=1 \
|
||||
-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
|
||||
-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
|
||||
$(am__append_4)
|
||||
|
||||
# Nb: Tools need to augment these flags with an arch-selection option, such
|
||||
# as $(AM_FLAG_M3264_PRI).
|
||||
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6)
|
||||
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
|
||||
@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7)
|
||||
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
|
||||
# automake; see comments in Makefile.all.am for more detail.
|
||||
AM_CCASFLAGS = $(AM_CPPFLAGS) -ffreestanding @FLAG_M32@
|
||||
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
|
||||
dist_noinst_SCRIPTS = filter_stderr
|
||||
EXTRA_DIST = \
|
||||
complex_rep.stderr.exp \
|
||||
complex_rep.vgtest \
|
||||
fldcw_check.stderr.exp \
|
||||
fldcw_check.vgtest \
|
||||
million.stderr.exp \
|
||||
million.post.exp \
|
||||
million.vgtest \
|
||||
rep_prefix.stderr.exp \
|
||||
rep_prefix.vgtest
|
||||
|
||||
complex_rep_SOURCES = complex_rep.S
|
||||
fldcw_check_SOURCES = fldcw_check.S
|
||||
million_SOURCES = million.S
|
||||
rep_prefix_SOURCES = rep_prefix.S
|
||||
all: all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .S .o .obj
|
||||
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
|
||||
&& { if test -f $@; then exit 0; else break; fi; }; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign exp-bbv/tests/x86/Makefile'; \
|
||||
$(am__cd) $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign exp-bbv/tests/x86/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_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am:
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
|
||||
$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
|
||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
|
||||
$(am__aclocal_m4_deps):
|
||||
|
||||
clean-checkPROGRAMS:
|
||||
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
|
||||
|
||||
complex_rep$(EXEEXT): $(complex_rep_OBJECTS) $(complex_rep_DEPENDENCIES) $(EXTRA_complex_rep_DEPENDENCIES)
|
||||
@rm -f complex_rep$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(complex_rep_OBJECTS) $(complex_rep_LDADD) $(LIBS)
|
||||
|
||||
fldcw_check$(EXEEXT): $(fldcw_check_OBJECTS) $(fldcw_check_DEPENDENCIES) $(EXTRA_fldcw_check_DEPENDENCIES)
|
||||
@rm -f fldcw_check$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(fldcw_check_OBJECTS) $(fldcw_check_LDADD) $(LIBS)
|
||||
|
||||
million$(EXEEXT): $(million_OBJECTS) $(million_DEPENDENCIES) $(EXTRA_million_DEPENDENCIES)
|
||||
@rm -f million$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(million_OBJECTS) $(million_LDADD) $(LIBS)
|
||||
|
||||
rep_prefix$(EXEEXT): $(rep_prefix_OBJECTS) $(rep_prefix_DEPENDENCIES) $(EXTRA_rep_prefix_DEPENDENCIES)
|
||||
@rm -f rep_prefix$(EXEEXT)
|
||||
$(AM_V_CCLD)$(LINK) $(rep_prefix_OBJECTS) $(rep_prefix_LDADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/complex_rep.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fldcw_check.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/million.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rep_prefix.Po@am__quote@
|
||||
|
||||
.S.o:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<
|
||||
|
||||
.S.obj:
|
||||
@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
|
||||
@am__fastdepCCAS_TRUE@ $(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
|
||||
@am__fastdepCCAS_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
|
||||
ID: $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); mkid -fID $$unique
|
||||
tags: tags-am
|
||||
TAGS: tags
|
||||
|
||||
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
set x; \
|
||||
here=`pwd`; \
|
||||
$(am__define_uniq_tagged_files); \
|
||||
shift; \
|
||||
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
if test $$# -gt 0; then \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
"$$@" $$unique; \
|
||||
else \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$unique; \
|
||||
fi; \
|
||||
fi
|
||||
ctags: ctags-am
|
||||
|
||||
CTAGS: ctags
|
||||
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
|
||||
$(am__define_uniq_tagged_files); \
|
||||
test -z "$(CTAGS_ARGS)$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& $(am__cd) $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) "$$here"
|
||||
cscopelist: cscopelist-am
|
||||
|
||||
cscopelist-am: $(am__tagged_files)
|
||||
list='$(am__tagged_files)'; \
|
||||
case "$(srcdir)" in \
|
||||
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
|
||||
*) sdir=$(subdir)/$(srcdir) ;; \
|
||||
esac; \
|
||||
for i in $$list; do \
|
||||
if test -f "$$i"; then \
|
||||
echo "$(subdir)/$$i"; \
|
||||
else \
|
||||
echo "$$sdir/$$i"; \
|
||||
fi; \
|
||||
done >> $(top_builddir)/cscope.files
|
||||
|
||||
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)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d "$(distdir)/$$file"; then \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
|
||||
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
|
||||
fi; \
|
||||
cp -fpR $$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-local
|
||||
check: check-am
|
||||
all-am: Makefile $(SCRIPTS)
|
||||
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:
|
||||
if test -z '$(STRIP)'; then \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
install; \
|
||||
else \
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
|
||||
fi
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_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-local mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
html-am:
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am:
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-dvi-am:
|
||||
|
||||
install-exec-am:
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-html-am:
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-info-am:
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-pdf-am:
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
install-ps-am:
|
||||
|
||||
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
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am:
|
||||
|
||||
.MAKE: check-am install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am check-local clean \
|
||||
clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
|
||||
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||
install install-am install-data install-data-am install-dvi \
|
||||
install-dvi-am install-exec install-exec-am install-html \
|
||||
install-html-am install-info install-info-am install-man \
|
||||
install-pdf install-pdf-am install-ps install-ps-am \
|
||||
install-strip installcheck installcheck-am installdirs \
|
||||
maintainer-clean maintainer-clean-generic mostlyclean \
|
||||
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
|
||||
tags tags-am uninstall uninstall-am
|
||||
|
||||
|
||||
# This used to be required when Vex had a handwritten Makefile. It
|
||||
# shouldn't be needed any more, though.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
# noinst_PROGRAMS and noinst_DSYMS targets
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
# On Darwin, for a program 'p', the DWARF debug info is stored in the
|
||||
# directory 'p.dSYM'. This must be generated after the executable is
|
||||
# created, with 'dsymutil p'. We could redefine LINK with a script that
|
||||
# executes 'dsymutil' after linking, but that's a pain. Instead we use this
|
||||
# hook so that every time "make check" is run, we subsequently invoke
|
||||
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
|
||||
# newer than their corresponding .dSYM directory.
|
||||
build-noinst_DSYMS: $(noinst_DSYMS)
|
||||
for f in $(noinst_DSYMS); do \
|
||||
if [ ! -e $$f.dSYM -o $$f -nt $$f.dSYM ] ; then \
|
||||
echo "dsymutil $$f"; \
|
||||
dsymutil $$f; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
|
||||
# "in-place" installs. It copies $(noinst_PROGRAMS) into $inplacedir.
|
||||
# It needs to be depended on by an 'all-local' rule.
|
||||
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_PROGRAMS) ; do \
|
||||
rm -f $(inplacedir)/$$f; \
|
||||
ln -f -s ../$(subdir)/$$f $(inplacedir); \
|
||||
done
|
||||
|
||||
# Similar to inplace-noinst_PROGRAMS
|
||||
inplace-noinst_DSYMS: build-noinst_DSYMS
|
||||
mkdir -p $(inplacedir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(inplacedir)/$$f.dSYM; \
|
||||
ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make install". It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'install-exec-local' rule.
|
||||
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
$(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
|
||||
# "make uninstall". It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
|
||||
# It needs to be depended on by an 'uninstall-local' rule.
|
||||
uninstall-noinst_PROGRAMS:
|
||||
for f in $(noinst_PROGRAMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f; \
|
||||
done
|
||||
|
||||
# Similar to install-noinst_PROGRAMS.
|
||||
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
|
||||
# directories. XXX: not sure whether the resulting permissions will be
|
||||
# correct when using 'cp -R'...
|
||||
install-noinst_DSYMS: build-noinst_DSYMS
|
||||
$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
|
||||
for f in $(noinst_DSYMS); do \
|
||||
cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
|
||||
done
|
||||
|
||||
# Similar to uninstall-noinst_PROGRAMS.
|
||||
uninstall-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
|
||||
done
|
||||
|
||||
# This needs to be depended on by a 'clean-local' rule.
|
||||
clean-noinst_DSYMS:
|
||||
for f in $(noinst_DSYMS); do \
|
||||
rm -rf $$f.dSYM; \
|
||||
done
|
||||
|
||||
check-local: build-noinst_DSYMS
|
||||
|
||||
clean-local: clean-noinst_DSYMS
|
||||
|
||||
# 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:
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user