Re: [DynInst_API:] PATCH: have SymtabAPI properly use ELF contents to set architecture


Date: Tue, 28 Jul 2015 11:40:42 -0500
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] PATCH: have SymtabAPI properly use ELF contents to set architecture
On 07/28/2015 11:31 AM, Jim Galarowicz wrote:
Hi Bill,

I've built dyninst from the latest git bits for dyninst and then changed
our source to get around the loop head API issue.
When I run using the new version of dyninst, I'm still getting the
architecture assert shown below.

Is there anything I can try to get around this issue?

Have you tracked down the target elf.h on maia? If I can get my hands on the enums from that, I can (or you can, for that matter) patch appropriately in that switch--it's entirely a matter of mapping ELF machine IDs to the closest available dyninst architecture (if one exists).

Jim G


module load ~/privatemodules/ossoff-maia
PBS maia96 11> !oss
osspcsamp "mpiexec.hydra -host mic0 -np 30 ./nbody.mic"

[openss]: pcsamp experiment using the pcsamp experiment default sampling
rate: "100".
[openss]: pcsamp experiment calling openss.
[openss]: Setting up offline raw data directory in
/nobackup/jgalarow/offline-oss
[openss]: Running offline pcsamp experiment using the command:
"mpiexec.hydra -host mic0 -np 30
/nobackupp8/jgalarow/maia/ossoffline/compute/bin/ossrun -c pcsamp
./nbody.mic"

/nasa/mic_knc/mic/basic/basic.2.0/bin/modulecmd: Command not found.
Iteration 1 of 50...
Iteration 2 of 50...
Iteration 3 of 50...
Iteration 4 of 50...
Iteration 5 of 50...
Iteration 6 of 50...
Iteration 7 of 50...
Iteration 8 of 50...
Iteration 9 of 50...
Iteration 10 of 50...
Iteration 11 of 50...
Iteration 12 of 50...
Iteration 13 of 50...
Iteration 14 of 50...
Iteration 15 of 50...
Iteration 16 of 50...
Iteration 17 of 50...
Iteration 18 of 50...
Iteration 19 of 50...
Iteration 20 of 50...
Iteration 21 of 50...
Iteration 22 of 50...
Iteration 23 of 50...
Iteration 24 of 50...
Iteration 25 of 50...
Iteration 26 of 50...
Iteration 27 of 50...
Iteration 28 of 50...
Iteration 29 of 50...
Iteration 30 of 50...
Iteration 31 of 50...
Iteration 32 of 50...
Iteration 33 of 50...
Iteration 34 of 50...
Iteration 35 of 50...
Iteration 36 of 50...
Iteration 37 of 50...
Iteration 38 of 50...
Iteration 39 of 50...
Iteration 40 of 50...
Iteration 41 of 50...
Iteration 42 of 50...
Iteration 43 of 50...
Iteration 44 of 50...
Iteration 45 of 50...
Iteration 46 of 50...
Iteration 47 of 50...
Iteration 48 of 50...
Iteration 49 of 50...
Iteration 50 of 50...

[openss]: Converting raw data from /nobackup/jgalarow/offline-oss into
temp file X.0.openss

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/pfe20/dyninst-9.0.0/dwarf/src/dwarfHandle.C:148:
bool Dyninst::Dwarf::DwarfHandle::init_dbg(): Assertion `0 &&
"Unsupported archiecture in ELF file."' failed.

[openss]: Restoring and displaying default view for:
     /nobackupp8/jgalarow/demos/nbody/nbody.mic-pcsamp-3.openss
[openss]: The restored experiment identifier is:  -x 1
(There are no objects specified for the basic Detail report.)


On 07/27/2015 05:14 PM, Jim Galarowicz wrote:

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@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api













--
--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]