On 11/12/2014 03:36 PM, Bill Williams wrote:
On 11/12/2014 03:33 PM, Jim Galarowicz wrote:
Yes, I have to try to find the target version of elf.h. The host one
must be similar to yours, it only goes to 95 as well.
On a not-quite-orthogonal note, you've run across CMake toolchain
files (and are using them for the Dyninst pseudo-cross-compile here),
right? That's not something we've been emphasizing in the release
notes but it's very helpful in getting MIC stuff to behave decently.
Hi Bill,
Where are the release notes. I saw the README.dyninst but didn't see
any thing about cross compiling. I'm just using Dyninst on the
Pleiades x86_64 front-end but it is processing Intel MIC executables.
I'm back at this now for real - milestones related to the Intel MIC.
I'm on the NASA Pleiades machine. They now have an Intel MIC
partition called maia.
I tried building dyninst on Pleiades to use on the FE to process
symbols but I'm back where I was before.
That is with the abort in xxx
Processing raw data for nbody.mic ...
Processing processes and threads ...
Processing performance data ...
Processing symbols ...
Resolving symbols for /nobackupp8/jgalarow/demos/nbody/nbody.mic
ossutil:
/nobackup/jgalarow/OpenSpeedShop_ROOT/BUILD/pfe23/dyninst-8.2.1/dwarf/src/dwarfHandle.C:139:
bool Dyninst::Dwarf::DwarfHandle::init_dbg(): Assertion `0 &&
"Unsupported archiecture in ELF file."' failed.
...
....
PBS maia96 37> vi
/nobackup/jgalarow/OpenSpeedShop_ROOT/BUILD/pfe23/dyninst-8.2.1/dwarf/src/dwarfHandle.C
I've downloaded the latest dyninst using: alias git_dyninst='git clone
http://git.dyninst.org/dyninst.git'
and I'm going to try this version to see if there is any difference.
Thanks,
Jim G
Here is the objdump -i for the Intel MIC binary if that sheds any light.
qsub -q mic_knc -I
qsub: waiting for job 4369498.pbspl1.nas.nasa.gov to start
qsub: job 4369498.pbspl1.nas.nasa.gov ready
Job 4369498.pbspl1.nas.nasa.gov started on Mon Jul 27 12:33:36 PDT 2015
The job requested the following resources:
ncpus=1
place=pack
walltime=01:00:00
PBS set the following environment variables:
FORT_BUFFERED = 1
TZ = PST8PDT
On maia96:
in setting path code
unsetenv HYBRID ROOT CPPFLAGS LD_LIBRARY_PATH QTDIR DPCLSD
DYNINSTAPI_RT_LIB
exit .cshrc in middle
exit .cshrc at ssh end
In Maia host specific .cshrc
exit .cshrc at real end
^[]2;maia96:/nobackup/jgalarow/OpenSpeedShop_ROOT/BUILD/maia97/dyninst-8.2.1
^G^[]1;maia96^G
Current directory is
/nobackup/jgalarow/OpenSpeedShop_ROOT/BUILD/maia97/dyninst-8.2.1
PBS maia96 1>
PBS maia96 1>
PBS maia96 1> uname -a
Linux maia96 3.0.101-0.46-default #1 SMP Wed Dec 17 11:04:10 UTC 2014
(8356111) x86_64 x86_64 x86_64 GNU/Linux
PBS maia96 2>
PBS maia96 4> file nbody.mic
nbody.mic: ELF 64-bit LSB executable, version 1 (SYSV), for GNU/Linux
2.6.16, dynamically linked (uses shared libs), not stripped
PBS maia96 5> objdump nbody.mic
Usage: objdump <option(s)> <file(s)>
Display information from object <file(s)>.
At least one of the following switches must be given:
-a, --archive-headers Display archive header information
-f, --file-headers Display the contents of the overall file
header
-p, --private-headers Display object format specific file header
contents
-P, --private=OPT,OPT... Display object format specific contents
-h, --[section-]headers Display the contents of the section headers
-x, --all-headers Display the contents of all headers
-d, --disassemble Display assembler contents of executable
sections
-D, --disassemble-all Display assembler contents of all sections
-S, --source Intermix source code with disassembly
-s, --full-contents Display the full contents of all sections
requested
-g, --debugging Display debug information in object file
-e, --debugging-tags Display debug information using ctags style
-G, --stabs Display (in raw form) any STABS info in the
file
-W[lLiaprmfFsoRt] or
--dwarf[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,
=frames-interp,=str,=loc,=Ranges,=pubtypes,
=gdb_index,=trace_info,=trace_abbrev,=trace_aranges]
Display DWARF info in the file
-t, --syms Display the contents of the symbol table(s)
-T, --dynamic-syms Display the contents of the dynamic symbol
table
-r, --reloc Display the relocation entries in the file
-R, --dynamic-reloc Display the dynamic relocation entries in
the file
@<file> Read options from <file>
-v, --version Display this program's version number
-i, --info List object formats and architectures
supported
-H, --help Display this information
PBS maia96 6> objdump -i !$
objdump -i nbody.mic
BFD header file version (GNU Binutils; SUSE Linux Enterprise 11) 2.23.1
elf64-x86-64
(header little endian, data little endian)
i386
elf32-i386
(header little endian, data little endian)
i386
elf32-x86-64
(header little endian, data little endian)
i386
a.out-i386-linux
(header little endian, data little endian)
m68k
sparc
mips
i386
arm
pei-i386
(header little endian, data little endian)
i386
pei-x86-64
(header little endian, data little endian)
i386
elf64-l1om
(header little endian, data little endian)
l1om
elf64-k1om
(header little endian, data little endian)
k1om
elf64-little
(header little endian, data little endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf64-big
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf32-little
(header little endian, data little endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf32-big
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf64-littleaarch64
(header little endian, data little endian)
aarch64
elf64-bigaarch64
(header big endian, data big endian)
aarch64
elf32-littlearm
(header little endian, data little endian)
arm
elf32-bigarm
(header big endian, data big endian)
arm
elf64-alpha
(header little endian, data little endian)
alpha
ecoff-littlealpha
(header little endian, data little endian)
alpha
elf32-hppa-linux
(header big endian, data big endian)
hppa1.0
elf32-hppa
(header big endian, data big endian)
hppa1.0
elf64-hppa-linux
(header big endian, data big endian)
hppa1.0
elf64-hppa
(header big endian, data big endian)
hppa1.0
elf64-ia64-little
(header little endian, data little endian)
ia64-elf64
elf64-ia64-big
(header big endian, data big endian)
ia64-elf64
pei-ia64
(header little endian, data little endian)
ia64-elf64
elf32-m68k
(header big endian, data big endian)
m68k
a.out-m68k-linux
(header big endian, data big endian)
m68k
sparc
mips
i386
arm
elf32-tradbigmips
(header big endian, data big endian)
mips
elf32-tradlittlemips
(header little endian, data little endian)
mips
ecoff-bigmips
(header big endian, data big endian)
mips
ecoff-littlemips
(header little endian, data little endian)
mips
elf32-ntradbigmips
(header big endian, data big endian)
mips
elf64-tradbigmips
(header big endian, data big endian)
mips
elf32-ntradlittlemips
(header little endian, data little endian)
mips
elf64-tradlittlemips
(header little endian, data little endian)
mips
elf32-powerpc
(header big endian, data big endian)
powerpc:common64
aixcoff-rs6000
(header big endian, data big endian)
powerpc:common64
rs6000:6000
elf32-powerpcle
(header little endian, data little endian)
powerpc:common64
ppcboot
(header little endian, data big endian)
powerpc:common64
elf64-powerpc
(header big endian, data big endian)
powerpc:common64
elf64-powerpcle
(header little endian, data little endian)
powerpc:common64
aixcoff64-rs6000
(header big endian, data big endian)
powerpc:common64
rs6000:6000
aix5coff64-rs6000
(header big endian, data big endian)
powerpc:common64
rs6000:6000
elf32-s390
(header big endian, data big endian)
s390:31-bit
elf64-s390
(header big endian, data big endian)
s390:31-bit
elf32-sh-linux
(header little endian, data little endian)
sh
elf32-shbig-linux
(header big endian, data big endian)
sh
elf32-sparc
(header big endian, data big endian)
sparc
a.out-sparc-linux
(header little endian, data little endian)
m68k
sparc
mips
i386
arm
elf64-sparc
(header big endian, data big endian)
sparc
a.out-sunos-big
(header big endian, data big endian)
m68k
sparc
xcoff-powermac
(header big endian, data big endian)
powerpc:common64
rs6000:6000
mach-o-be
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
mach-o-le
(header little endian, data little endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
mach-o-fat
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
pef
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
pef-xlib
(header big endian, data big endian)
sym
(header big endian, data big endian)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf32-spu
(header big endian, data big endian)
spu:256K
pe-x86-64
(header little endian, data little endian)
i386
pe-i386
(header little endian, data little endian)
i386
plugin
(header little endian, data little endian)
srec
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
symbolsrec
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
verilog
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
tekhex
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
binary
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
ihex
(header endianness unknown, data endianness unknown)
m68k
sparc
spu:256K
mips
i386
l1om
k1om
plugin
powerpc:common64
rs6000:6000
hppa1.0
sh
alpha
arm
ia64-elf64
s390:31-bit
aarch64
elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux
pei-i386
m68k ------------ ---------- ------------ a.out-i386-linux
--------
sparc ------------ ---------- ------------ a.out-i386-linux
--------
spu:256K ------------ ---------- ------------ ----------------
--------
mips ------------ ---------- ------------ a.out-i386-linux
--------
i386 elf64-x86-64 elf32-i386 elf32-x86-64 a.out-i386-linux
pei-i386
l1om ------------ ---------- ------------ ----------------
--------
k1om ------------ ---------- ------------ ----------------
--------
plugin ------------ ---------- ------------ ----------------
--------
powerpc:common64 ------------ ---------- ------------ ----------------
--------
rs6000:6000 ------------ ---------- ------------ ----------------
--------
hppa1.0 ------------ ---------- ------------ ----------------
--------
sh ------------ ---------- ------------ ----------------
--------
alpha ------------ ---------- ------------ ----------------
--------
arm ------------ ---------- ------------ a.out-i386-linux
--------
ia64-elf64 ------------ ---------- ------------ ----------------
--------
s390:31-bit ------------ ---------- ------------ ----------------
--------
aarch64 ------------ ---------- ------------ ----------------
--------
pei-x86-64 elf64-l1om elf64-k1om elf64-little elf64-big
m68k ---------- ---------- ---------- elf64-little elf64-big
sparc ---------- ---------- ---------- elf64-little elf64-big
spu:256K ---------- ---------- ---------- elf64-little elf64-big
mips ---------- ---------- ---------- elf64-little elf64-big
i386 pei-x86-64 ---------- ---------- elf64-little elf64-big
l1om ---------- elf64-l1om ---------- elf64-little elf64-big
k1om ---------- ---------- elf64-k1om elf64-little elf64-big
plugin ---------- ---------- ---------- elf64-little elf64-big
powerpc:common64 ---------- ---------- ---------- elf64-little elf64-big
rs6000:6000 ---------- ---------- ---------- elf64-little elf64-big
hppa1.0 ---------- ---------- ---------- elf64-little elf64-big
sh ---------- ---------- ---------- elf64-little elf64-big
alpha ---------- ---------- ---------- elf64-little elf64-big
arm ---------- ---------- ---------- elf64-little elf64-big
ia64-elf64 ---------- ---------- ---------- elf64-little elf64-big
s390:31-bit ---------- ---------- ---------- elf64-little elf64-big
aarch64 ---------- ---------- ---------- elf64-little elf64-big
elf32-little elf32-big elf64-littleaarch64
elf64-bigaarch64
m68k elf32-little elf32-big -------------------
----------------
sparc elf32-little elf32-big -------------------
----------------
spu:256K elf32-little elf32-big -------------------
----------------
mips elf32-little elf32-big -------------------
----------------
i386 elf32-little elf32-big -------------------
----------------
l1om elf32-little elf32-big -------------------
----------------
k1om elf32-little elf32-big -------------------
----------------
plugin elf32-little elf32-big -------------------
----------------
powerpc:common64 elf32-little elf32-big -------------------
----------------
rs6000:6000 elf32-little elf32-big -------------------
----------------
hppa1.0 elf32-little elf32-big -------------------
----------------
sh elf32-little elf32-big -------------------
----------------
alpha elf32-little elf32-big -------------------
----------------
arm elf32-little elf32-big -------------------
----------------
ia64-elf64 elf32-little elf32-big -------------------
----------------
s390:31-bit elf32-little elf32-big -------------------
----------------
aarch64 elf32-little elf32-big elf64-littleaarch64
elf64-bigaarch64
elf32-littlearm elf32-bigarm elf64-alpha ecoff-littlealpha
m68k --------------- ------------ ----------- -----------------
sparc --------------- ------------ ----------- -----------------
spu:256K --------------- ------------ ----------- -----------------
mips --------------- ------------ ----------- -----------------
i386 --------------- ------------ ----------- -----------------
l1om --------------- ------------ ----------- -----------------
k1om --------------- ------------ ----------- -----------------
plugin --------------- ------------ ----------- -----------------
powerpc:common64 --------------- ------------ -----------
-----------------
rs6000:6000 --------------- ------------ ----------- -----------------
hppa1.0 --------------- ------------ ----------- -----------------
sh --------------- ------------ ----------- -----------------
alpha --------------- ------------ elf64-alpha ecoff-littlealpha
arm elf32-littlearm elf32-bigarm ----------- -----------------
ia64-elf64 --------------- ------------ ----------- -----------------
s390:31-bit --------------- ------------ ----------- -----------------
aarch64 --------------- ------------ ----------- -----------------
elf32-hppa-linux elf32-hppa elf64-hppa-linux elf64-hppa
m68k ---------------- ---------- ---------------- ----------
sparc ---------------- ---------- ---------------- ----------
spu:256K ---------------- ---------- ---------------- ----------
mips ---------------- ---------- ---------------- ----------
i386 ---------------- ---------- ---------------- ----------
l1om ---------------- ---------- ---------------- ----------
k1om ---------------- ---------- ---------------- ----------
plugin ---------------- ---------- ---------------- ----------
powerpc:common64 ---------------- ---------- ---------------- ----------
rs6000:6000 ---------------- ---------- ---------------- ----------
hppa1.0 elf32-hppa-linux elf32-hppa elf64-hppa-linux elf64-hppa
sh ---------------- ---------- ---------------- ----------
alpha ---------------- ---------- ---------------- ----------
arm ---------------- ---------- ---------------- ----------
ia64-elf64 ---------------- ---------- ---------------- ----------
s390:31-bit ---------------- ---------- ---------------- ----------
aarch64 ---------------- ---------- ---------------- ----------
elf64-ia64-little elf64-ia64-big pei-ia64 elf32-m68k
m68k ----------------- -------------- -------- elf32-m68k
sparc ----------------- -------------- -------- ----------
spu:256K ----------------- -------------- -------- ----------
mips ----------------- -------------- -------- ----------
i386 ----------------- -------------- -------- ----------
l1om ----------------- -------------- -------- ----------
k1om ----------------- -------------- -------- ----------
plugin ----------------- -------------- -------- ----------
powerpc:common64 ----------------- -------------- -------- ----------
rs6000:6000 ----------------- -------------- -------- ----------
hppa1.0 ----------------- -------------- -------- ----------
sh ----------------- -------------- -------- ----------
alpha ----------------- -------------- -------- ----------
arm ----------------- -------------- -------- ----------
ia64-elf64 elf64-ia64-little elf64-ia64-big pei-ia64 ----------
s390:31-bit ----------------- -------------- -------- ----------
aarch64 ----------------- -------------- -------- ----------
a.out-m68k-linux elf32-tradbigmips elf32-tradlittlemips
m68k a.out-m68k-linux ----------------- --------------------
sparc a.out-m68k-linux ----------------- --------------------
spu:256K ---------------- ----------------- --------------------
mips a.out-m68k-linux elf32-tradbigmips elf32-tradlittlemips
i386 a.out-m68k-linux ----------------- --------------------
l1om ---------------- ----------------- --------------------
k1om ---------------- ----------------- --------------------
plugin ---------------- ----------------- --------------------
powerpc:common64 ---------------- ----------------- --------------------
rs6000:6000 ---------------- ----------------- --------------------
hppa1.0 ---------------- ----------------- --------------------
sh ---------------- ----------------- --------------------
alpha ---------------- ----------------- --------------------
arm a.out-m68k-linux ----------------- --------------------
ia64-elf64 ---------------- ----------------- --------------------
s390:31-bit ---------------- ----------------- --------------------
aarch64 ---------------- ----------------- --------------------
ecoff-bigmips ecoff-littlemips elf32-ntradbigmips
m68k ------------- ---------------- ------------------
sparc ------------- ---------------- ------------------
spu:256K ------------- ---------------- ------------------
mips ecoff-bigmips ecoff-littlemips elf32-ntradbigmips
i386 ------------- ---------------- ------------------
l1om ------------- ---------------- ------------------
k1om ------------- ---------------- ------------------
plugin ------------- ---------------- ------------------
powerpc:common64 ------------- ---------------- ------------------
rs6000:6000 ------------- ---------------- ------------------
hppa1.0 ------------- ---------------- ------------------
sh ------------- ---------------- ------------------
alpha ------------- ---------------- ------------------
arm ------------- ---------------- ------------------
ia64-elf64 ------------- ---------------- ------------------
s390:31-bit ------------- ---------------- ------------------
aarch64 ------------- ---------------- ------------------
elf64-tradbigmips elf32-ntradlittlemips
elf64-tradlittlemips
m68k ----------------- ---------------------
--------------------
sparc ----------------- ---------------------
--------------------
spu:256K ----------------- ---------------------
--------------------
mips elf64-tradbigmips elf32-ntradlittlemips
elf64-tradlittlemips
i386 ----------------- ---------------------
--------------------
l1om ----------------- ---------------------
--------------------
k1om ----------------- ---------------------
--------------------
plugin ----------------- ---------------------
--------------------
powerpc:common64 ----------------- ---------------------
--------------------
rs6000:6000 ----------------- ---------------------
--------------------
hppa1.0 ----------------- ---------------------
--------------------
sh ----------------- ---------------------
--------------------
alpha ----------------- ---------------------
--------------------
arm ----------------- ---------------------
--------------------
ia64-elf64 ----------------- ---------------------
--------------------
s390:31-bit ----------------- ---------------------
--------------------
aarch64 ----------------- ---------------------
--------------------
elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot
m68k ------------- -------------- --------------- -------
sparc ------------- -------------- --------------- -------
spu:256K ------------- -------------- --------------- -------
mips ------------- -------------- --------------- -------
i386 ------------- -------------- --------------- -------
l1om ------------- -------------- --------------- -------
k1om ------------- -------------- --------------- -------
plugin ------------- -------------- --------------- -------
powerpc:common64 elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot
rs6000:6000 ------------- aixcoff-rs6000 --------------- -------
hppa1.0 ------------- -------------- --------------- -------
sh ------------- -------------- --------------- -------
alpha ------------- -------------- --------------- -------
arm ------------- -------------- --------------- -------
ia64-elf64 ------------- -------------- --------------- -------
s390:31-bit ------------- -------------- --------------- -------
aarch64 ------------- -------------- --------------- -------
elf64-powerpc elf64-powerpcle aixcoff64-rs6000
m68k ------------- --------------- ----------------
sparc ------------- --------------- ----------------
spu:256K ------------- --------------- ----------------
mips ------------- --------------- ----------------
i386 ------------- --------------- ----------------
l1om ------------- --------------- ----------------
k1om ------------- --------------- ----------------
plugin ------------- --------------- ----------------
powerpc:common64 elf64-powerpc elf64-powerpcle aixcoff64-rs6000
rs6000:6000 ------------- --------------- aixcoff64-rs6000
hppa1.0 ------------- --------------- ----------------
sh ------------- --------------- ----------------
alpha ------------- --------------- ----------------
arm ------------- --------------- ----------------
ia64-elf64 ------------- --------------- ----------------
s390:31-bit ------------- --------------- ----------------
aarch64 ------------- --------------- ----------------
aix5coff64-rs6000 elf32-s390 elf64-s390 elf32-sh-linux
m68k ----------------- ---------- ---------- --------------
sparc ----------------- ---------- ---------- --------------
spu:256K ----------------- ---------- ---------- --------------
mips ----------------- ---------- ---------- --------------
i386 ----------------- ---------- ---------- --------------
l1om ----------------- ---------- ---------- --------------
k1om ----------------- ---------- ---------- --------------
plugin ----------------- ---------- ---------- --------------
powerpc:common64 aix5coff64-rs6000 ---------- ---------- --------------
rs6000:6000 aix5coff64-rs6000 ---------- ---------- --------------
hppa1.0 ----------------- ---------- ---------- --------------
sh ----------------- ---------- ---------- elf32-sh-linux
alpha ----------------- ---------- ---------- --------------
arm ----------------- ---------- ---------- --------------
ia64-elf64 ----------------- ---------- ---------- --------------
s390:31-bit ----------------- elf32-s390 elf64-s390 --------------
aarch64 ----------------- ---------- ---------- --------------
elf32-shbig-linux elf32-sparc a.out-sparc-linux
elf64-sparc
m68k ----------------- ----------- a.out-sparc-linux
-----------
sparc ----------------- elf32-sparc a.out-sparc-linux
elf64-sparc
spu:256K ----------------- ----------- -----------------
-----------
mips ----------------- ----------- a.out-sparc-linux
-----------
i386 ----------------- ----------- a.out-sparc-linux
-----------
l1om ----------------- ----------- -----------------
-----------
k1om ----------------- ----------- -----------------
-----------
plugin ----------------- ----------- -----------------
-----------
powerpc:common64 ----------------- ----------- -----------------
-----------
rs6000:6000 ----------------- ----------- -----------------
-----------
hppa1.0 ----------------- ----------- -----------------
-----------
sh elf32-shbig-linux ----------- -----------------
-----------
alpha ----------------- ----------- -----------------
-----------
arm ----------------- ----------- a.out-sparc-linux
-----------
ia64-elf64 ----------------- ----------- -----------------
-----------
s390:31-bit ----------------- ----------- -----------------
-----------
aarch64 ----------------- ----------- -----------------
-----------
a.out-sunos-big xcoff-powermac mach-o-be mach-o-le
mach-o-fat
m68k a.out-sunos-big -------------- mach-o-be mach-o-le
mach-o-fat
sparc a.out-sunos-big -------------- mach-o-be mach-o-le
mach-o-fat
spu:256K --------------- -------------- mach-o-be mach-o-le
mach-o-fat
mips --------------- -------------- mach-o-be mach-o-le
mach-o-fat
i386 --------------- -------------- mach-o-be mach-o-le
mach-o-fat
l1om --------------- -------------- mach-o-be mach-o-le
mach-o-fat
k1om --------------- -------------- mach-o-be mach-o-le
mach-o-fat
plugin --------------- -------------- mach-o-be mach-o-le
mach-o-fat
powerpc:common64 --------------- xcoff-powermac mach-o-be mach-o-le
mach-o-fat
rs6000:6000 --------------- xcoff-powermac mach-o-be mach-o-le
mach-o-fat
hppa1.0 --------------- -------------- mach-o-be mach-o-le
mach-o-fat
sh --------------- -------------- mach-o-be mach-o-le
mach-o-fat
alpha --------------- -------------- mach-o-be mach-o-le
mach-o-fat
arm --------------- -------------- mach-o-be mach-o-le
mach-o-fat
ia64-elf64 --------------- -------------- mach-o-be mach-o-le
mach-o-fat
s390:31-bit --------------- -------------- mach-o-be mach-o-le
mach-o-fat
aarch64 --------------- -------------- mach-o-be mach-o-le
mach-o-fat
pef pef-xlib sym elf32-spu pe-x86-64 pe-i386 plugin srec
m68k pef -------- sym --------- --------- ------- ------ srec
sparc pef -------- sym --------- --------- ------- ------ srec
spu:256K pef -------- sym elf32-spu --------- ------- ------ srec
mips pef -------- sym --------- --------- ------- ------ srec
i386 pef -------- sym --------- pe-x86-64 pe-i386 ------ srec
l1om pef -------- sym --------- --------- ------- ------ srec
k1om pef -------- sym --------- --------- ------- ------ srec
plugin pef -------- sym --------- --------- ------- ------ srec
powerpc:common64 pef -------- sym --------- --------- ------- ------ srec
rs6000:6000 pef -------- sym --------- --------- ------- ------ srec
hppa1.0 pef -------- sym --------- --------- ------- ------ srec
sh pef -------- sym --------- --------- ------- ------ srec
alpha pef -------- sym --------- --------- ------- ------ srec
arm pef -------- sym --------- --------- ------- ------ srec
ia64-elf64 pef -------- sym --------- --------- ------- ------ srec
s390:31-bit pef -------- sym --------- --------- ------- ------ srec
aarch64 pef -------- sym --------- --------- ------- ------ srec
symbolsrec verilog tekhex binary ihex
m68k symbolsrec verilog tekhex binary ihex
sparc symbolsrec verilog tekhex binary ihex
spu:256K symbolsrec verilog tekhex binary ihex
mips symbolsrec verilog tekhex binary ihex
i386 symbolsrec verilog tekhex binary ihex
l1om symbolsrec verilog tekhex binary ihex
k1om symbolsrec verilog tekhex binary ihex
plugin symbolsrec verilog tekhex binary ihex
powerpc:common64 symbolsrec verilog tekhex binary ihex
rs6000:6000 symbolsrec verilog tekhex binary ihex
hppa1.0 symbolsrec verilog tekhex binary ihex
sh symbolsrec verilog tekhex binary ihex
alpha symbolsrec verilog tekhex binary ihex
arm symbolsrec verilog tekhex binary ihex
ia64-elf64 symbolsrec verilog tekhex binary ihex
s390:31-bit symbolsrec verilog tekhex binary ihex
aarch64 symbolsrec verilog tekhex binary ihex
On 11/12/2014 01:30 PM, Bill Williams wrote:
On 11/12/2014 03:11 PM, Jim Galarowicz wrote:
I put a print in right before we assert:
file->e_machine()=181
ossutil:
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dwarf/src/dwarfHandle.C:140:
bool Dyninst::Dwarf::DwarfHandle::init_dbg(): Assertion `0 &&
"Unsupported archiecture in ELF file."' failed.
On 11/12/2014 01:07 PM, Jim Galarowicz wrote:
Looks like we fail here: 139 in dwarfHandle.C
Dyninst::Architecture arch;
switch (file->e_machine()) {
case EM_386:
arch = Arch_x86;
break;
case EM_X86_64:
arch = Arch_x86_64;
break;
case EM_PPC:
arch = Arch_ppc32;
break;
case EM_PPC64:
arch = Arch_ppc64;
break;
default:
assert(0 && "Unsupported archiecture in ELF file.");
return false;
}
On 11/12/2014 01:05 PM, Jim Galarowicz wrote:
Not sure if the fix was where the code actually goes?
Oh, bog, we're rederiving things because we're dumb.
In any event, my elf.h only goes up through EM_XTENSA = 94, EM_NUM =
95. You can easily drop a case 181 in with EM_X86_64, but I'd really
like the EM defines from elf.h so I know what sort of extensions we're
dealing with...
Program terminated with signal 6, Aborted.
#0 0x00002afaa2b15625 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install
glibc-2.12-1.149.el6.x86_64 libgcc-4.4.6-4.el6.x86_64
libstdc++-4.4.6-4.el6.x86_64
(gdb) where
#0 0x00002afaa2b15625 in raise () from /lib64/libc.so.6
#1 0x00002afaa2b16e05 in abort () from /lib64/libc.so.6
#2 0x00002afaa2b0e74e in __assert_fail_base () from
/lib64/libc.so.6
#3 0x00002afaa2b0e810 in __assert_fail () from /lib64/libc.so.6
#4 0x00002afaa16adf9c in Dyninst::Dwarf::DwarfHandle::init_dbg
(this=0xd45e40) at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dwarf/src/dwarfHandle.C:139
#5 0x00002afaa16ae069 in Dyninst::Dwarf::DwarfHandle::type_dbg
(this=0xd45e40) at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dwarf/src/dwarfHandle.C:196
#6 0x00002afaa0383ec0 in
Dyninst::SymtabAPI::Object::fix_global_symbol_modules_static_dwarf
(this=0xd48b20)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/symtabAPI/src/Object-elf.C:2884
#7 0x00002afaa03861b2 in Dyninst::SymtabAPI::Object::load_object
(this=0xd48b20, alloc_syms=<value optimized out>)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/symtabAPI/src/Object-elf.C:1619
#8 0x00002afaa0386f11 in Dyninst::SymtabAPI::Object::Object
(this=0xd48b20, mf_=0xd44980, err_func=<value optimized out>,
alloc_syms=true)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/symtabAPI/src/Object-elf.C:3396
#9 0x00002afaa034e2d2 in Dyninst::SymtabAPI::Symtab::Symtab
(this=0xd48620, filename="", defensive_bin=false,
err=@0x7fff0a0ffcff)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/symtabAPI/src/Symtab.C:1283
#10 0x00002afaa034e9dc in Dyninst::SymtabAPI::Symtab::openFile
(obj=@0xd48440, filename="/global/u2/j/jgalaro/nbody/nbody.mic2",
def_binary=Dyninst::SymtabAPI::Symtab::NotDefensive)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/symtabAPI/src/Symtab.C:2149
#11 0x00002afa9fcecb84 in image::image (this=0xd48380, desc=...,
err=@0x7fff0a0ffe9f, mode=BPatch_normalMode, parseGaps=<value
optimized out>)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/image.C:1263
#12 0x00002afa9fced762 in image::parseImage (desc=...,
mode=BPatch_normalMode, parseGaps=true) at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/image.C:1068
#13 0x00002afa9fcff13a in mapped_object::createMappedObject
(desc=..., p=0xd47fc0, analysisMode=BPatch_normalMode,
parseGaps=true)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/mapped_object.C:149
#14 0x00002afa9fcdeaf4 in BinaryEdit::openFile
(file="/global/u2/j/jgalaro/nbody/nbody.mic2", mgr=..., patch=0x0,
member=<value optimized out>)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/binaryEdit.C:339
#15 0x00002afa9fca0229 in BPatch_binaryEdit::BPatch_binaryEdit
(this=0xd46cf0, path=0xd472e8
"/global/u2/j/jgalaro/nbody/nbody.mic2", openDependencies=false)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/BPatch_binaryEdit.C:90
#16 0x00002afa9fc5873d in BPatch::openBinary (this=<value optimized
out>, path=0xd472e8 "/global/u2/j/jgalaro/nbody/nbody.mic2",
openDependencies=false)
at
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dyninstAPI/src/BPatch.C:1872
#17 0x00002afa9f7e6a09 in
OpenSpeedShop::Framework::DyninstSymbols::getLoops
(unique_addresses=std::set with 366 elements = {...},
linked_object=..., symbol_tables=std::map with 5 elements = {...})
at DyninstSymbols.cxx:208
#18 0x00002afa9f7decdb in
OpenSpeedShop::Framework::OfflineExperiment::createOfflineSymbolTable
(this=<value optimized out>) at OfflineExperiment.cxx:1145
#19 0x00002afa9f7e0eff in
OpenSpeedShop::Framework::OfflineExperiment::getRawDataFiles
(this=0x7fff0a101080, dir=<value optimized out>) at
OfflineExperiment.cxx:436
#20 0x00000000004020b2 in main (argc=<value optimized out>,
argv=0x7fff0a101388) at ossutil.cxx:74
(gdb)
On 11/12/2014 01:00 PM, Jim Galarowicz wrote:
Hi Bill,
Would I have to rebuild more than just symtabapi?
I added the source changes to Object-elf.C and rebuilt
symtabapi and
install it.
Then rebuilt OSS, but get the same error. Should I have rebuilt
more of Dyninst?
Thanks,
Jim G
bint01-559>cd
^[]2;bint01:/global/homes/j/jgalaro ^G^[]1;bint01^Gbint01-560>cd
nbody
^[]2;bint01:/global/homes/j/jgalaro/nbody
^G^[]1;bint01^Gbint01-561>!ossu
ossutil /global/u2/j/jgalaro/babbage/shared/offline-oss
Processing raw data for nbody.mic2 ...
Processing processes and threads ...
Processing performance data ...
Processing symbols ...
Resolving symbols for /global/u2/j/jgalaro/nbody/nbody.mic2
ossutil:
/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-8.2.0/dwarf/src/dwarfHandle.C:139:
bool Dyninst::Dwarf::DwarfHandle::init_dbg(): Assertion `0 &&
"Unsupported archiecture in ELF file."' failed.
Abort (core dumped)
bint01-562>which ossutil
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/bin/ossutil
bint01-563>lsr
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/bin/ossutil
428 -rwxr-xr-x 1 jgalaro jgalaro 434903 Nov 12 12:57
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/bin/ossutil*
bint01-564>ldd
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/bin/ossutil
linux-vdso.so.1 => (0x00007fff7d7ff000)
libltdl.so.7 =>
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/lib64/libltdl.so.7
(0x00002ab60c82d000)
libopenss-framework.so.1 =>
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/lib64/libopenss-framework.so.1
(0x00002ab60ca36000)
libsqlite3.so.0 =>
/usr/syscom/nsg/opt/moab/7.2.6/lib/libsqlite3.so.0
(0x00002ab60cce1000)
libopenss-framework-symtabapi.so.1 =>
/global/u2/j/jgalaro/babbage/ossoff_v2.1u5a/lib64/libopenss-framework-symtabapi.so.1
(0x00002ab60cf67000)
librt.so.1 => /lib64/librt.so.1 (0x00002ab60d18b000)
libdyninstAPI.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libdyninstAPI.so.8.2
(0x00002ab60d393000)
libcommon.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libcommon.so.8.2
(0x00002ab60d7b4000)
libsymtabAPI.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymtabAPI.so.8.2
(0x00002ab60da8d000)
libinstructionAPI.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libinstructionAPI.so.8.2
(0x00002ab60dda5000)
libparseAPI.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libparseAPI.so.8.2
(0x00002ab60e029000)
libpatchAPI.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libpatchAPI.so.8.2
(0x00002ab60e3cf000)
libstackwalk.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libstackwalk.so.8.2
(0x00002ab60e60f000)
libpcontrol.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libpcontrol.so.8.2
(0x00002ab60e863000)
libdynElf.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libdynElf.so.8.2
(0x00002ab60ec2b000)
libdynDwarf.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libdynDwarf.so.8.2
(0x00002ab60ee3d000)
libsymLite.so.8.2 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymLite.so.8.2
(0x00002ab60f04d000)
libdwarf.so =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libdwarf.so
(0x00002ab60f255000)
libelf.so.0 =>
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libelf.so.0
(0x00002ab60f4a3000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00002ab60f6bb000)
libdl.so.2 => /lib64/libdl.so.2 (0x00002ab60f8d8000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6
(0x00002ab60fadc000)
libm.so.6 => /lib64/libm.so.6 (0x00002ab60fde3000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002ab610067000)
libc.so.6 => /lib64/libc.so.6 (0x00002ab61027d000)
/lib64/ld-linux-x86-64.so.2 (0x00002ab60c60b000)
libboost_thread-mt.so.5 => /usr/lib64/libboost_thread-mt.so.5
(0x00002ab610612000)
libboost_system-mt.so.5 => /usr/lib64/libboost_system-mt.so.5
(0x00002ab610827000)
bint01-565>lsr
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymtabAPI.so.8.2
0 lrwxrwxrwx 1 jgalaro jgalaro 21 Nov 10 14:50
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymtabAPI.so.8.2
-> libsymtabAPI.so.8.2.0*
bint01-566>lsr
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymtabAPI.so.8.2.0
17216 -rwxr-xr-x 1 jgalaro jgalaro 17628692 Nov 12 12:43
/global/u2/j/jgalaro/babbage/krellroot_v2.1u5a/lib64/libsymtabAPI.so.8.2.0*
bint01-567>date
Wed Nov 12 12:58:58 PST 2014
bint01-568>
On 11/12/2014 11:33 AM, Bill Williams wrote:
SymtabAPI has, historically, assumed that it's opening files for
the architecture it was built for (modulo 32/64 bit flipping).
Per
Jim's bug report from a MIC system, this is not necessarily the
case.
This patch converts Object::getArch to return a
Dyninst::Architecture that's actually based on the contents of an
ELF file. This may cause different failures than you'd expect if
you try to use Dyninst as a whole on a binary from a different
architecture than your mutator, but I'm throwing it out to the
list
for general testing and feedback.
_______________________________________________
Dyninst-api mailing list
Dyninst-api@cs.wisc.edu
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api