Script started on Thu 17 Nov 2011 05:24:21 PM EST
ijdavis@swag:~/src/asx$ nohup ./do_firefox &
[1] 27551
ijdavis@swag:~/src/asx$ nohup: ignoring input and appending output to `nohup.out'

[1]+  Exit 134                nohup ./do_firefox
ijdavis@swag:~/src/asx$ vi junk1
[?1h=[1;25r[m[m[0m[H[J[25;1H"junk1" 21L, 4001C[1;1H/home/ijdavis/mozilla-central/config//home/ijdavis/mozilla-central/config/nsinstt[2;1Hall.c
   1: /usr/bin/gcc -o /home/ijdavis/mozilla-central/config/nsinstall.s -g -S -pee[4;1Hdantic -fno-strict-aliasing -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -fomm[5;1Hit-frame-pointer -DXP_UNIX -DUNICODE -D_UNICODE -I. -I. -I../dist/include -I../dd[6;1Hist/include/nsprpub -I/home/ijdavis/mozilla-central/dist/include/nspr -I/home/ijj[7;1Hdavis/mozilla-central/dist/include/nss -I/home/ijdavis/mozilla-central/dist/incll[8;1Hude/nspr /home/ijdavis/mozilla-central/config/nsinstall.c
/home/ijdavis/mozilla-central/config//home/ijdavis/mozilla-central/config/pathsuu[10;1Hb.c
   2: /usr/bin/gcc -o /home/ijdavis/mozilla-central/config/pathsub.s -g -S -pedaa[12;1Hntic -fno-strict-aliasing -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMED -fomitt[13;1H-frame-pointer -DXP_UNIX -DUNICODE -D_UNICODE -I. -I. -I../dist/include -I../diss[14;1Ht/include/nsprpub -I/home/ijdavis/mozilla-central/dist/include/nspr -I/home/ijdaa[15;1Hvis/mozilla-central/dist/include/nss -I/home/ijdavis/mozilla-central/dist/includd[16;1He/nspr /home/ijdavis/mozilla-central/config/pathsub.c
/home/ijdavis/mozilla-central/config/elf-dynstr-gc.c
   4: /usr/bin/gcc -o elf-dynstr-gc.s -g -S -DOSTYPE="Linux2.6.35.6-45.fc14" -DOO[19;1HSARCH=Linux -I. -I. -I../dist/include -I../dist/include/nsprpub -I/home/ijdavis//[20;1Hmozilla-central/dist/include/nspr -I/home/ijdavis/mozilla-central/dist/include/nn[21;1Hss -pedantic -fno-strict-aliasing -fno-tree-vrp -pthread -pipe -DNDEBUG -DTRIMMEE[22;1HD -fomit-frame-pointer -include ../mozilla-config.h -DMOZILLA_CLIENT -pthread -II[23;1H/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread elf-dynstr-gc.c
elf-dynstr-gc.c: In function ‘possibly_add_string’:[25;63H1,1[11CTop[1;1H[25;1H[K[25;1H:$
[m[m[0m[H[J[1;1H** Dwarf symbol abbrev=(nil) debug=(nil) information not found in elf.cpp
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/bb[3;1Huild/unix/elfhack/elfhack.cpp
   6: /usr/bin/c++ -o /home/ijdavis/mozilla-central/build/unix/elfhack/elfhack.ss[5;1H -g -S -fno-rtti -fno-strict-aliasing -fno-tree-vrp -pthread -pipe -fexceptions  [6;1H-DNDEBUG -DTRIMMED -freorder-blocks -finline-limit=50 -fomit-frame-pointer -I. --[7;1HI. -I../../../dist/include -I../../../dist/include/nsprpub -I/home/ijdavis/mozill[8;1Hla-central/dist/include/nspr -I/home/ijdavis/mozilla-central/dist/include/nss -II[9;1H/home/ijdavis/mozilla-central/dist/include/nspr /home/ijdavis/mozilla-central/buu[10;1Hild/unix/elfhack/elfhack.cpp
** Dwarf symbol abbrev=(nil) debug=(nil) information not found in elfhack.cpp
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/bb[13;1Huild/unix/elfhack/test.c
   8: /usr/bin/gcc -o /home/ijdavis/mozilla-central/build/unix/elfhack/test.s -gg[15;1H -S -I../../../dist/system_wrappers -include ../../../config/gcc_hidden.h -DOSTYY[16;1HPE="Linux2.6.35.6-45.fc14" -DOSARCH=Linux -I. -I. -I../../../dist/include -I../..[17;1H./../dist/include/nsprpub -I/home/ijdavis/mozilla-central/dist/include/nspr -I/hh[18;1Home/ijdavis/mozilla-central/dist/include/nss -include ../../../mozilla-config.h  [19;1H-DMOZILLA_CLIENT /home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:954: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' faii[21;1Hled.
Aborted
[1m~
~[0m[25;63H21,1[10CBot[22;1H[25;63H[K[25;1H:!vi ~/firefox/history
[22C[?1l>[25;1H
[?1h=[1;25r[m[m[0m[H[J[25;1H"~/firefox/history" 3844L, 5024547C[1;1H"/home/ijdavis/mozilla-central/config" "/usr/bin/gcc" "-o" "host_nsinstall.o" "--[2;1Hc" "-Wall" "-W" "-Wno-unused" "-Wpointer-arith" "-Wdeclaration-after-statement"  [3;1H"-Wcast-align" "-W" "-pedantic" "-Wno-long-long" "-fno-strict-aliasing" "-fno-trr[4;1Hee-vrp" "-pthread" "-pipe" "-DNDEBUG" "-DTRIMMED" "-g" "-O3" "-fomit-frame-pointt[5;1Her" "-DXP_UNIX" "-O3" "-DUNICODE" "-D_UNICODE" "-I." "-I." "-I../dist/include" ""[6;1H-I../dist/include/nsprpub" "-I/home/ijdavis/mozilla-central/dist/include/nspr" ""[7;1H-I/home/ijdavis/mozilla-central/dist/include/nss" "-I/home/ijdavis/mozilla-centrr[8;1Hal/dist/include/nspr" "/home/ijdavis/mozilla-central/config/nsinstall.c"
"/home/ijdavis/mozilla-central/config" "/usr/bin/gcc" "-o" "host_pathsub.o" "-c""[10;1H "-Wall" "-W" "-Wno-unused" "-Wpointer-arith" "-Wdeclaration-after-statement" "--[11;1HWcast-align" "-W" "-pedantic" "-Wno-long-long" "-fno-strict-aliasing" "-fno-treee[12;1H-vrp" "-pthread" "-pipe" "-DNDEBUG" "-DTRIMMED" "-g" "-O3" "-fomit-frame-pointerr[13;1H" "-DXP_UNIX" "-O3" "-DUNICODE" "-D_UNICODE" "-I." "-I." "-I../dist/include" "-II[14;1H../dist/include/nsprpub" "-I/home/ijdavis/mozilla-central/dist/include/nspr" "-II[15;1H/home/ijdavis/mozilla-central/dist/include/nss" "-I/home/ijdavis/mozilla-centrall[16;1H/dist/include/nspr" "/home/ijdavis/mozilla-central/config/pathsub.c"
"/home/ijdavis/mozilla-central/config" "/usr/bin/gcc" "-o" "nsinstall" "-Wall" ""[18;1H-W" "-Wno-unused" "-Wpointer-arith" "-Wdeclaration-after-statement" "-Wcast-aligg[19;1Hn" "-W" "-pedantic" "-Wno-long-long" "-fno-strict-aliasing" "-fno-tree-vrp" "-ptt[20;1Hhread" "-pipe" "-DNDEBUG" "-DTRIMMED" "-g" "-O3" "-fomit-frame-pointer" "-DXP_UNN[21;1HIX" "-O3" "-DUNICODE" "-D_UNICODE" "-lpthread" "-Wl,-rpath-link,/home/ijdavis/moo[22;1Hzilla-central/dist/bin" "-Wl,-rpath-link,/usr/local/lib" "host_nsinstall.o" "hoss[23;1Ht_pathsub.o"
"/home/ijdavis/mozilla-central/config" "/usr/bin/gcc" "-DOSTYPE=\"Linux2.6.35.6-[24;2H[K[24;1H[1m@[0m[25;63H1,1[11CTop[1;1H[25;1H[K[25;1H:8
[m[m[0m[H[J[1;1H"/home/ijdavis/mozilla-central/build/unix/elfhack" "/usr/bin/c++" "-o" "elfhack""[2;1H "-fno-rtti" "-Wall" "-Wpointer-arith" "-Woverloaded-virtual" "-Wsynth" "-Wno-ctt[3;1Hor-dtor-privacy" "-Wno-non-virtual-dtor" "-Wcast-align" "-Wno-invalid-offsetof"  [4;1H"-Wno-variadic-macros" "-Werror=return-type" "-Wno-long-long" "-fno-strict-aliass[5;1Hing" "-std=gnu++0x" "-fno-tree-vrp" "-pthread" "-pipe" "-fexceptions" "-DNDEBUG""[6;1H "-DTRIMMED" "-g" "-Os" "-freorder-blocks" "-finline-limit=50" "-fomit-frame-poii[7;1Hnter" "-lpthread" "-Wl,-rpath-link,/home/ijdavis/mozilla-central/dist/bin" "-Wl,,[8;1H-rpath-link,/usr/local/lib" "host_elf.o" "host_elfhack.o"
"/home/ijdavis/mozilla-central/build/unix/elfhack" "/usr/bin/gcc" "-o" "test.o"  [10;1H"-c" "-I../../../dist/system_wrappers" "-include" "../../../config/gcc_hidden.h""[11;1H "-DOSTYPE=\"Linux2.6.35.6-45.fc14\"" "-DOSARCH=Linux" "-I." "-I." "-I../../../dd[12;1Hist/include" "-I../../../dist/include/nsprpub" "-I/home/ijdavis/mozilla-central//[13;1Hdist/include/nspr" "-I/home/ijdavis/mozilla-central/dist/include/nss" "-fPIC" "--[14;1HO0" "-include" "../../../mozilla-config.h" "-DMOZILLA_CLIENT" "-MD" "-MF" ".depss[15;1H/test.pp" "/home/ijdavis/mozilla-central/build/unix/elfhack/test.c"
"/home/ijdavis/mozilla-central/build/unix/elfhack" "/usr/bin/gcc" "-o" "inject/xx[17;1H86.o" "-c" "-I../../../dist/system_wrappers" "-include" "../../../config/gcc_hidd[18;1Hden.h" "-DOSTYPE=\"Linux2.6.35.6-45.fc14\"" "-DOSARCH=Linux" "-DBITS=32" "-I." ""[19;1H-I." "-I../../../dist/include" "-I../../../dist/include/nsprpub" "-I/home/ijdavii[20;1Hs/mozilla-central/dist/include/nspr" "-I/home/ijdavis/mozilla-central/dist/incluu[21;1Hde/nss" "-fPIC" "-O2" "-fno-stack-protector" "-include" "../../../mozilla-configg[22;1H.h" "-DMOZILLA_CLIENT" "-MD" "-MF" ".deps/x86.pp" "/home/ijdavis/mozilla-centrall[23;1H/build/unix/elfhack/inject/x86.c"
"/home/ijdavis/mozilla-central/build/unix/elfhack" "/usr/bin/gcc" "-o" "inject/x[24;2H[K[24;1H[1m@[0m[25;63H8,1[12C0%[9;1H[25;63H[K[25;1H:,w! ~/firefox/history1.,w! ~/firefox/history1
:.,ww! ~/firefox/history1[25;24H[K[25;3H
"~/firefox/history1" [25;22H[K[25;22H[New] 1L, 549C written[19C8,1[12C0%[25;63H[K[25;63H8,1[12C0%[9;1H[25;1H[K[25;1H:q
[?1l>[25;1H[K[25;1H[?1h=[25;1H
[7mPress ENTER or type command to continue[m[m[0m[H[J[1;1H** Dwarf symbol abbrev=(nil) debug=(nil) information not found in elf.cpp
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/bb[3;1Huild/unix/elfhack/elfhack.cpp
   6: /usr/bin/c++ -o /home/ijdavis/mozilla-central/build/unix/elfhack/elfhack.ss[5;1H -g -S -fno-rtti -fno-strict-aliasing -fno-tree-vrp -pthread -pipe -fexceptions  [6;1H-DNDEBUG -DTRIMMED -freorder-blocks -finline-limit=50 -fomit-frame-pointer -I. --[7;1HI. -I../../../dist/include -I../../../dist/include/nsprpub -I/home/ijdavis/mozill[8;1Hla-central/dist/include/nspr -I/home/ijdavis/mozilla-central/dist/include/nss -II[9;1H/home/ijdavis/mozilla-central/dist/include/nspr /home/ijdavis/mozilla-central/buu[10;1Hild/unix/elfhack/elfhack.cpp
** Dwarf symbol abbrev=(nil) debug=(nil) information not found in elfhack.cpp
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/bb[13;1Huild/unix/elfhack/test.c
   8: /usr/bin/gcc -o /home/ijdavis/mozilla-central/build/unix/elfhack/test.s -gg[15;1H -S -I../../../dist/system_wrappers -include ../../../config/gcc_hidden.h -DOSTYY[16;1HPE="Linux2.6.35.6-45.fc14" -DOSARCH=Linux -I. -I. -I../../../dist/include -I../..[17;1H./../dist/include/nsprpub -I/home/ijdavis/mozilla-central/dist/include/nspr -I/hh[18;1Home/ijdavis/mozilla-central/dist/include/nss -include ../../../mozilla-config.h  [19;1H-DMOZILLA_CLIENT /home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:954: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' faii[21;1Hled.
Aborted
[1m~
~[0m[25;63H21,1[10CBot[22;1H[25;63H[K[25;1H:q
[?1l>[25;1H[K[25;1Hijdavis@swag:~/src/asx$ vi do_firefox
[?1h=[1;25r[m[m[0m[H[J[25;1H"do_firefox" 7L, 278C[1;1HASX_IGNORE="o;a;so;t"; export ASX_IGNORE
ASX_UNLINK=no; export ASX_UNLINK
ASX_SILENT=no; export ASX_SILENT
ASX_FORCE=; export ASX_FORCE
ASX_SKIP=n; export ASX_SKIP
./asx < ~/firefox/history > junk1.ta 2> junk1
#java -classpath /home/ijdavis lsedit.LandscapeEditorFrame junk1.ta
[1m~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~[0m[25;63H1,1[11CAll[1;1H[25;63H2[2;1H[25;63H3[3;1H[25;63H4[4;1H[25;63H5[5;1H[25;63H6[6;1H[25;1H[K[25;1H/hos
[7msearch hit BOTTOM, continuing at TOP
E486: Pattern not found: hos[m[25;29H[K[25;63H6,1[11CAll[6;1H[25;1H[K[25;1H/his
[62C6,19[10CAll[6;19H[25;65H20[6;20H[25;66H1[6;21H[25;66H2[6;22H[25;66H3[6;23H[25;66H4[6;24H[25;66H5[6;25H[25;66H6[6;26H[25;1H[1m-- INSERT --[0m[25;63H[K[25;63H6,26[10CAll[6;26Hy1 > junk1.ta 2> junk1[25;66H7[6;27H[25;1H[K[6;26H[25;63H6,26[10CAll[6;26H[25;63H[K[25;1H:w
"do_firefox" 7L, 279C written[33C6,26[10CAll[25;63H[K[25;63H6,26[10CAll[6;26H[25;1H[K[25;1H:q
[?1l>[25;1H[K[25;1Hijdavis@swag:~/src/asx$ ./do_firefox
./do_firefox: line 6: 27590 Aborted                 ./asx < ~/firefox/history1 > junk1.ta 2> junk1
ijdavis@swag:~/src/asx$ vi junk1
[?1h=[1;25r[m[m[0m[H[J[25;1H"junk1" 3L, 664C[1;1H/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/bb[2;1Huild/unix/elfhack/test.c
   1: /usr/bin/gcc -o /home/ijdavis/mozilla-central/build/unix/elfhack/test.s -gg[4;1H -S -I../../../dist/system_wrappers -include ../../../config/gcc_hidden.h -DOSTYY[5;1HPE="Linux2.6.35.6-45.fc14" -DOSARCH=Linux -I. -I. -I../../../dist/include -I../..[6;1H./../dist/include/nsprpub -I/home/ijdavis/mozilla-central/dist/include/nspr -I/hh[7;1Home/ijdavis/mozilla-central/dist/include/nss -include ../../../mozilla-config.h  [8;1H-DMOZILLA_CLIENT /home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:954: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' faii[10;1Hled.
[1m~
~
~
~
~
~
~
~
~
~
~
~
~
~[0m[25;63H1,1[11CAll[1;1H[25;1H[K[25;1H:q
[?1l>[25;1H[K[25;1Hijdavis@swag:~/src/asx$ 
ijdavis@swag:~/src/asx$ 
ijdavis@swag:~/src/asx$ vi junk1./do_firefoxvi do_firefoxjunk1[Kdo_firefox./do_firefox[Kvi do_firefox^C
ijdavis@swag:~/src/asx$ gdb asx
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ijdavis/src/asx/asx...done.
(gdb) shell
ijdavis@swag:~/src/asx$ cp ~/firefox/history1 .
ijdavis@swag:~/src/asx$ exit
exit
(gdb) r < j[Khistory1
Starting program: /home/ijdavis/src/asx/asx < history1
// ASX 3.0.10 Compiled Nov 17 2011:16:35:07 Start: Thu Nov 17 18:36:10 2011

// ASX_IGNORE=a;o;so
// Arguments to /home/ijdavis/src/asx/asx:
//
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:954: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff72dfa75 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) vi [K[K[Kshell vi dwarf.cpp
[?1h=[1;25r[m[m[0m[H[J[25;1H"dwarf.cpp" 3362L, 76152C[1;1H[4m#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#ifndef WIN32
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "xmalloc.h"
#include "util.h"
#include "object.h"
#include "label.h"
#include "classmember.h"
#include "function.h"
#include "dwarf.h"

#define INDENT "  "[m
[1m//#define DUMP_STRINGTABLE
//#define DUMP_ABBREVIATIONS
//#define DUMP_HEADER[0m

[4mextern[m [4mint[m g_debug_dwarf;[25;63H1,1[11CTop[1;1H[25;1H[K[25;1H:954
[m[m[0m[H[J[1;8H [1mif[0m (!load_label(&atP, &uref)) {[2;12H assert([4m0[m);[3;12H [1mreturn[0m([4m0[m);[4;8H }[5;8H [1mif[0m (uref > [4m0xffffffff[m) {[6;12H assert([4m0[m);[7;12H [1mreturn[0m([4m0[m);[8;8H }[9;8H uint32 = uref;
    }
    [1mif[0m (*atP++ != [1m'\n'[0m) {[12;8H assert([4m0[m);[13;8H [1mreturn[0m([4m0[m);
    }
    *valueP   = uint32;
    *atPP     = atP;
    g_offset += [1msizeof[0m(uint32T);
    [1mreturn[0m([4m1[m);
}

[4mint[m
Cdwarf::load_uint64([4mchar[m **atPP, uint64T *valueP)
{
    [4mchar[m    *atP;[25;63H954,3-9[7C28%[12;9H[25;65H3,6[11;9H[25;65H2,2-5[10;5H[25;65H1,3-9[9;9H[25;65H0[8;9H[25;64H49,3-12[7;12H[25;65H8[6;12H[25;65H7,3-9 [5;9H[25;65H6[4;9H[25;65H5,3-12[3;12H[25;65H4[2;12H[25;65H3,3-9 [1;9H[1;24r[1;1HM[1;25r[1;4H } [1melse[0m {[25;63H[K[25;63H942,6-9[7C28%[1;9H[1;24r[1;1HM[1;25r[1;8H uint32 = (uint32T) uint64;[25;63H[K[25;63H941,3-9[7C28%[1;9H[1;24r[1;1HM[1;25r[1;8H }[25;63H[K[25;63H940,3-9[7C28%[1;9H[1;24r[1;1HM[1;25r[1;12H [1mreturn[0m([4m0[m);[25;63H[K[25;63H939,3-12      28%[1;12H[1;24r[1;1HM[1;25r[1;12H assert([4m0[m);[25;63H[K[25;63H938,3-12      28%[1;12H[1;24r[1;1HM[1;25r[1;8H [1mif[0m (uint64 > [4m0xffffffff[m) {[25;63H[K[25;63H937,3-9[7C28%[1;9H[1;24r[1;1HM[1;25r[1;8H }[25;63H[K[25;63H936,3-9[7C28%[1;9H[1;24r[1;1HM[1;25r[1;12H [1mreturn[0m([4m0[m);[25;63H[K[25;63H935,3-12      27%[1;12H[1;24r[1;1HM[1;25r[1;12H assert([4m0[m);[25;63H[K[25;63H934,3-12      27%[1;12H[1;24r[1;1HM[1;25r[1;8H [1mif[0m (!load_unsigned(&atP, &uint64)) {[25;63H[K[25;63H933,3-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H [1mif[0m ((c = *atP) >= [4m'0'[m && c <= [4m'9'[m) {[25;63H[K[25;63H932,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H atP += [4m7[m;[25;63H[K[25;63H931,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H }[25;63H[K[25;63H930,2-5[7C27%[1;5H[1;24r[1;1HM[1;25r[1;8H [1mreturn[0m([4m0[m);[25;63H[K[25;63H929,3-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;8H assert([4m0[m);[25;63H[K[25;63H928,3-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H [1mif[0m (strncmp(atP, [4m" .long "[m, [4m7[m)) {[25;63H[K[25;63H927,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H atP = *atPP;[25;63H[K[25;63H926,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[25;63H[K[25;63H925,0-1[7C27%[1;1H[1;24r[1;1HM[1;25r[1;4H [4mchar[m    c;[25;63H[K[25;63H924,6-12      27%[1;12H[1;24r[1;1HM[1;25r[1;4H urefT   uref;[25;63H[K[25;63H923,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H uint64T uint64;[25;63H[K[25;63H922,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H uint32T uint32;[25;63H[K[25;63H921,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;4H [4mchar[m    *atP;[25;63H[K[25;63H920,6-9[7C27%[1;9H[1;24r[1;1HM[1;25r[1;1H{[25;63H[K[25;63H919,1[9C27%[1;1H[1;24r[1;1HM[1;25r[1;1HCdwarf::load_uint32([4mchar[m **atPP, uint32T *valueP)[25;63H[K[25;63H918,9[9C27%[1;9H[25;63H[K[25;1H:q
[?1l>[25;1H[K[25;1H(gdb) up
#1  0x00007ffff72e35c0 in *__GI_abort () at abort.c:92
92	abort.c: No such file or directory.
	in abort.c
(gdb) up
#2  0x00007ffff72d8941 in *__GI___assert_fail (assertion=0x5a15d7 "0", 
    file=<value optimized out>, line=954, 
    function=0x5a2820 "int Cdwarf::load_uint32(char**, uint32T*)")
    at assert.c:81
81	assert.c: No such file or directory.
	in assert.c
(gdb) up
#3  0x000000000044308e in Cdwarf::load_uint32 (this=0x7f3480, 
    atPP=0x7fffffffe238, valueP=0x7fffffffe248) at dwarf.cpp:954
954			assert(0);
(gdb) p *atPP
$1 = 0x7ffff7fcd2a8 " .long foo@DTPOFF, 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb"...
(gdb) p atP
$2 = 0x7ffff7fcd2ba " 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb128 0x1b\n .uleb128"...
(gdb) shell vi dwarf.cpp
[?1h=[1;25r[m[m[0m[H[J[25;1H"dwarf.cpp" 3362L, 76152C[1;1H[4m#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#ifndef WIN32
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "xmalloc.h"
#include "util.h"
#include "object.h"
#include "label.h"
#include "classmember.h"
#include "function.h"
#include "dwarf.h"

#define INDENT "  "[m
[1m//#define DUMP_STRINGTABLE
//#define DUMP_ABBREVIATIONS
//#define DUMP_HEADER[0m

[4mextern[m [4mint[m g_debug_dwarf;[25;63H1,1[11CTop[1;1H[25;1H[K[25;1H/long
[m[m[0m[H[J[1;4H [1mreturn[0m nameP;
}

[1m#if 0

// Code to test that signed shift works correctly

#include <stdio.h>
int
main(int argc, char **argv)
{
    long long i;

    union {
        long long           k;
        unsigned long long  j;
    } val;

    i       = -2;
    val.k   = i;
    i     >>= 1;
    val.j >>= 1;

    printf("0x%16llx %lld 0x%16llx %lld\n", i, i, val.j, val.j);[0m[25;63H481,2-5[7C14%[12;5H[25;1H/long[25;63H[K[25;1H[62C481,7-10      14%[12;10H[25;63H[K[25;1H[62C484,3-9[7C14%[15;9H[25;63H[K[25;1H[62C484,8-14      14%[15;14H[25;63H[K[25;1H[62C485,12-18     14%[16;18H[25;63H[K[25;1H[62C485,17-23     14%[16;23H[25;63H[K[25;1H[m[m[0m[H[J[1;4H }
    *bufferPP = bufferP;
    [1mreturn[0m(ret);
}

[1m#if 0
// Code to test encode and decode

int
main(int argc, char **argv)
{
    unsigned long long uint64_1, uint64_2;
    signed long long   sint64_1, sint64_2;
    char         buffer[24];
    char        *bufferP, *buffer1P;

#if 0
    uint64_1 = 0;
    do {
        bufferP = buffer;
        encode_uleb128(uint64_1, &bufferP ,1);
        buffer1P = buffer;
        uint64_2 = decode_uleb128(&buffer1P);
        assert(uint64_1 == uint64_2);[0m[25;63H614,11-14     18%[12;14H[25;1H/long[25;63H[K[25;1H[62C614,16-19     18%[12;19H[25;63H[K[25;1H[62C615,9-12      18%[13;12H[25;63H[K[25;1H[62C615,14-17     18%[13;17H[25;63H[K[25;1H[m[m[0m[H[J[2;1H[4mint[m
Cdwarf::load_uint32([4mchar[m **atPP, uint32T *valueP)
{
    [4mchar[m    *atP;
    uint32T uint32;
    uint64T uint64;
    urefT   uref;
    [4mchar[m    c;[11;4H atP = *atPP;
    [1mif[0m (strncmp(atP, [4m" .long "[m, [4m7[m)) {[13;8H assert([4m0[m);[14;8H [1mreturn[0m([4m0[m);
    }
    atP += [4m7[m;
    [1mif[0m ((c = *atP) >= [4m'0'[m && c <= [4m'9'[m) {[18;8H [1mif[0m (!load_unsigned(&atP, &uint64)) {[19;12H assert([4m0[m);[20;12H [1mreturn[0m([4m0[m);[21;8H }[22;8H [1mif[0m (uint64 > [4m0xffffffff[m) {[23;12H assert([4m0[m);[24;12H [1mreturn[0m([4m0[m);[25;63H927,22-25     27%[12;25H[25;65H8,12-18[13;18H[25;65H9[14;18H[25;64H30,2-5  [15;5H[25;65H1,10-13[16;13H[25;65H2,22-25[17;25H[25;65H3,19[18;25H[25;65H4,13-22[19;22H[25;65H5[20;22H[25;65H6,3-9  [21;9H[25;65H7,19-25[22;25H[25;65H8,13-22[23;22H[25;65H9[24;22H[1;24r[24;1H
[1;25r[24;8H }[25;63H[K[25;63H940,3-9[7C27%[24;9H[1;24r[24;1H
[1;25r[24;8H uint32 = (uint32T) uint64;[25;63H[K[25;63H941,19-25     27%[24;25H[1;24r[24;1H
[1;25r[24;4H } [1melse[0m {[25;63H[K[25;63H942,9-12      27%[24;12H[1;24r[24;1H
[1;25r[24;8H [1mif[0m (!load_label(&atP, &uref)) {[25;63H[K[25;63H943,19-25     27%[24;25H[1;24r[24;1H
[1;25r[24;12H assert([4m0[m);[25;63H[K[25;63H944,13-22     27%[24;22H[1;24r[24;1H
[1;25r[24;12H [1mreturn[0m([4m0[m);[25;63H[K[25;63H945,13-22     27%[24;22H[1;24r[24;1H
[1;25r[24;8H }[25;63H[K[25;63H946,3-9[7C27%[24;9H[1;24r[24;1H
[1;25r[24;8H [1mif[0m (uref > [4m0xffffffff[m) {[25;63H[K[25;63H947,19-25     27%[24;25H[1;24r[24;1H
[1;25r[24;12H assert([4m0[m);[25;63H[K[25;63H948,13-22     27%[24;22H[1;24r[24;1H
[1;25r[24;12H [1mreturn[0m([4m0[m);[25;63H[K[25;63H949,13-22     27%[24;22H[1;24r[24;1H
[1;25r[24;8H }[25;63H[K[25;63H950,3-9[7C27%[24;9H[1;24r[24;1H
[1;25r[24;8H uint32 = uref;[25;63H[K[25;63H951,16-22     27%[24;22H[1;24r[24;1H
[1;25r[24;4H }[25;63H[K[25;63H952,2-5[7C27%[24;5H[1;24r[24;1H
[1;25r[24;4H [1mif[0m (*atP++ != [1m'\n'[0m) {[25;63H[K[25;63H953,22-25     27%[24;25H[1;24r[24;1H
[1;25r[24;8H assert([4m0[m);[25;63H[K[25;63H954,12-18     27%[24;18H[1;24r[24;1H
[1;25r[24;8H [1mreturn[0m([4m0[m);[25;63H[K[25;63H955,12-18     27%[24;18H[1;24r[24;1H
[1;25r[24;4H }[25;63H[K[25;63H956,2-5[7C27%[24;5H[25;65H5,12-18[23;18H[25;65H4[22;18H[25;65H3,22-25[21;25H[25;65H2,2-5  [20;5H[25;65H1,16-22[19;22H[25;65H0,3-9  [18;9H[25;64H49,13-22[17;22H[25;65H8[16;22H[25;65H7,19-25[15;25H[25;65H6,3-9  [14;9H[25;65H5,13-22[13;22H[25;65H4[12;22H[25;65H3,19-25[11;25H[25;65H2,9-12 [10;12H[25;65H1,19-25[9;25H[25;65H0,3-9  [8;9H[25;64H39,13-22[7;22H[25;65H8[6;22H[25;65H7,19-25[5;25H[25;65H6,3-9  [4;9H[25;65H5,13-22[3;22H[25;65H4[2;22H[25;65H3,19-25[1;25H[1;24r[1;1HM[1;25r[1;4H [1mif[0m ((c = *atP) >= [4m'0'[m && c <= [4m'9'[m) {[25;63H[K[25;63H932,22-25     27%[1;25H[1;24r[1;1HM[1;25r[1;4H atP += [4m7[m;[25;63H[K[25;63H931,10-13     27%[1;13H[1;24r[1;1HM[1;25r[1;4H }[25;63H[K[25;63H930,2-5[7C27%[1;5H[1;24r[1;1HM[1;25r[1;8H [1mreturn[0m([4m0[m);[25;63H[K[25;63H929,12-18     27%[1;18H[1;24r[1;1HM[1;25r[1;8H assert([4m0[m);[25;63H[K[25;63H928,12-18     27%[1;18H[1;24r[1;1HM[1;25r[1;4H [1mif[0m (strncmp(atP, [4m" .long "[m, [4m7[m)) {[25;63H[K[25;63H927,22-25     27%[1;25H[1;24r[1;1HM[1;25r[1;4H atP = *atPP;[25;63H[K[25;63H926,13-16     27%[1;16H[1;24r[1;1HM[1;25r[25;63H[K[25;63H925,0-1[7C27%[1;1H[1;24r[1;1HM[1;25r[1;4H [4mchar[m    c;[25;63H[K[25;63H924,8-14      27%[1;14H[1;24r[1;1HM[1;25r[1;4H urefT   uref;[25;63H[K[25;63H923,12-17     27%[1;17H[1;24r[1;1HM[1;25r[1;4H uint64T uint64;[25;63H[K[25;63H922,16-19     27%[1;19H[1;24r[1;1HM[1;25r[1;4H uint32T uint32;[25;63H[K[25;63H921,16-19     27%[1;19H[1;24r[1;1HM[1;25r[1;4H [4mchar[m    *atP;[25;63H[K[25;63H920,12-17     27%[1;17H[1;24r[1;1HM[1;25r[1;1H{[25;63H[K[25;63H919,1[9C27%[1;1H[1;24r[1;1HM[1;25r[1;1HCdwarf::load_uint32([4mchar[m **atPP, uint32T *valueP)[25;63H[K[25;63H918,25[8C27%[1;25H[1;24r[1;1HM[1;25r[1;1H[4mint[m[25;63H[K[25;63H917,3[9C27%[1;3H[1;24r[1;1HM[1;25r[25;63H[K[25;63H916,0-1[7C27%[1;1H[25;65H7,3  [2;3H[25;65H8,25[3;25H[25;65H9,1 [4;1H[25;1H[1m-- INSERT --[0m[25;63H[K[25;63H920,1[9C27%[5;24r[5;1HM[1;25r[25;63H[K[25;63H920,1[9C27%[5;1H[25;67H2-5[5;5H s[25;67H3-6[5;6Hss[25;67H4-7[5;7Hstat[25;67H7-10[5;10Htic[25;67H9-12[5;12H[5;11H[K[25;67H8-11[5;11H[5;10H[K[25;67H7-10[5;10H[5;9H[K[25;67H6-9 [5;9H[5;8H[K[25;67H5-8[5;8H[5;7H[K[25;67H4-7[5;7H[5;6H[K[25;67H3-6[5;6Hst[25;67H4-7[5;7Htat[25;67H6-9[5;9H[4mstatic[m[25;67H8-11[5;11H[25;67H9-12[5;12H in[25;67H11-14[5;14H[4mint[m[25;68H2-15[5;15H[25;68H3-16[5;16H c[25;68H4-17[5;17Hcn[25;68H5-18[5;18Hnt[25;68H6-19[5;19Ht1[25;68H7-20[5;20H1;[25;68H8-21[5;21H[5;20H[K[25;68H7-20[5;20H[25;68H8-21[5;21H =[25;68H9-22[5;22H[25;67H20-23[5;23H [4m0[m;[25;68H2-25[5;25H[6;24r[6;1HM[1;25r[25;63H[K[25;63H921,1[9C27%[6;1H[25;1H[K[6;1H[25;63H921,0-1[7C27%[6;1H[25;65H2,2-5[7;5H[25;65H3[8;5H[25;65H4[9;5H[25;65H5[10;5H[25;65H6[11;5H[25;65H7,0-1[12;1H[25;1H[1m-- INSERT --[0m[25;63H[K[25;63H928,1[9C27%[13;24r[13;1HM[1;25r[25;63H[K[25;63H928,1[9C27%[13;1H[25;67H2-5[13;5H +[25;67H3-6[13;6H++[25;67H4-7[13;7H+c[25;67H5-8[13;8Hcn[25;67H6-9[13;9Hnt[25;67H7-10[13;10Ht1[25;67H8-11[13;11H1;[25;67H9-12[13;12H[14;24r[14;1HM[1;25r[25;63H[K[25;63H929,1[9C27%[14;1H[25;1H[K[14;1H[25;63H929,0-1[7C27%[14;1H[25;63H[K[25;1H:w
"dwarf.cpp" 3366L, 76185C written[29C929,0-1[7C27%[25;63H[K[25;63H929,0-1[7C27%[14;1H[25;1H[K[25;1H:q
[?1l>[25;1H[K[25;1H(gdb) quit
A debugging session is active.

	Inferior 1 [process 27959] will be killed.

Quit anyway? (y or n) y
ijdavis@swag:~/src/asx$ make
g++ -c -g -I. -I/home/ijdavis/src/binutils-2.21/include -Wall dwarf.cpp
g++ -o asx -g -I. -I/home/ijdavis/src/binutils-2.21/include -Wall /home/ijdavis/src/binutils-2.21/libiberty/xexit.o /home/ijdavis/src/binutils-2.21/libiberty/xmalloc.o /home/ijdavis/src/binutils-2.21/libiberty/xstrdup.o /home/ijdavis/src/binutils-2.21/libiberty/safe-ctype.o /home/ijdavis/src/binutils-2.21/libiberty/dyn-string.o /home/ijdavis/src/binutils-2.21/libiberty/cp-demangle.o /home/ijdavis/src/binutils-2.21/libiberty/cplus-dem.o  /home/ijdavis/src/binutils-2.21/binutils/debug.o /home/ijdavis/src/binutils-2.21/binutils/stabs.o /home/ijdavis/src/binutils-2.21/binutils/ieee.o /home/ijdavis/src/binutils-2.21/binutils/rdcoff.o /home/ijdavis/src/binutils-2.21/binutils/bucomm.o /home/ijdavis/src/binutils-2.21/binutils/filemode.o /home/ijdavis/src/binutils-2.21/opcodes/disassemble.o /home/ijdavis/src/binutils-2.21/opcodes/dis-buf.o /home/ijdavis/src/binutils-2.21/opcodes/dis-init.o /home/ijdavis/src/binutils-2.21/opcodes/i386-dis.o asxo/asxo.o cx/cx.o xmalloc.o util.o label.o dwarf.o sanity.o entity.o archive.o directory.o source.o collection.o file.o template.o class.o classmember.o variable.o function.o edge.o signature_buffer.o signature.o asx.o /home/ijdavis/src/binutils-2.21/bfd/libbfd.a /home/ijdavis/src/binutils-2.21/libiberty/libiberty.a /home/ijdavis/src/zlib-1.2.5/libz.a 
g++ -o test_demangler -g -I. -I/home/ijdavis/src/binutils-2.21/include -Wall /home/ijdavis/src/binutils-2.21/libiberty/xexit.o /home/ijdavis/src/binutils-2.21/libiberty/xmalloc.o /home/ijdavis/src/binutils-2.21/libiberty/xstrdup.o /home/ijdavis/src/binutils-2.21/libiberty/safe-ctype.o /home/ijdavis/src/binutils-2.21/libiberty/dyn-string.o /home/ijdavis/src/binutils-2.21/libiberty/cp-demangle.o /home/ijdavis/src/binutils-2.21/libiberty/cplus-dem.o  xmalloc.o util.o signature_buffer.o signature.o test_demangler.cpp /home/ijdavis/src/binutils-2.21/libiberty/libiberty.a
ijdavis@swag:~/src/asx$ ./asx < history1
// ASX 3.0.10 Compiled Nov 17 2011:16:35:07 Start: Thu Nov 17 18:45:43 2011

// ASX_IGNORE=a;o;so
// Arguments to ./asx:
//
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:958: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' failed.
Aborted
ijdavis@swag:~/src/asx$ gdb asx
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ijdavis/src/asx/asx...done.
(gdb) r < history1
Starting program: /home/ijdavis/src/asx/asx < history1
// ASX 3.0.10 Compiled Nov 17 2011:16:35:07 Start: Thu Nov 17 18:45:50 2011

// ASX_IGNORE=a;o;so
// Arguments to /home/ijdavis/src/asx/asx:
//
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/build/unix/elfhack/test.c
asx: dwarf.cpp:958: int Cdwarf::load_uint32(char**, uint32T*): Assertion `0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff72dfa75 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
	in ../nptl/sysdeps/unix/sysv/linux/raise.c
(gdb) up
#1  0x00007ffff72e35c0 in *__GI_abort () at abort.c:92
92	abort.c: No such file or directory.
	in abort.c
(gdb) up
#2  0x00007ffff72d8941 in *__GI___assert_fail (assertion=0x5a15f7 "0", 
    file=<value optimized out>, line=958, 
    function=0x5a2840 "int Cdwarf::load_uint32(char**, uint32T*)")
    at assert.c:81
81	assert.c: No such file or directory.
	in assert.c
(gdb) up
#3  0x000000000044309d in Cdwarf::load_uint32 (this=0x7f3480, 
    atPP=0x7fffffffe238, valueP=0x7fffffffe248) at dwarf.cpp:958
958			assert(0);
(gdb) p cnt1
$1 = 410
(gdb) quit
A debugging session is active.

	Inferior 1 [process 28037] will be killed.

Quit anyway? (y or n) y
ijdavis@swag:~/src/asx$ vi dwarf.cpp
[?1h=[1;25r[m[m[0m[H[J[25;1H"dwarf.cpp" 3366L, 76185C[1;1H[4m#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#ifndef WIN32
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "xmalloc.h"
#include "util.h"
#include "object.h"
#include "label.h"
#include "classmember.h"
#include "function.h"
#include "dwarf.h"

#define INDENT "  "[m
[1m//#define DUMP_STRINGTABLE
//#define DUMP_ABBREVIATIONS
//#define DUMP_HEADER[0m

[4mextern[m [4mint[m g_debug_dwarf;[25;63H1,1[11CTop[1;1H[25;1H[K[25;1H/cnt1
[m[m[0m[H[J[1;4H }   }
    *P    = c;
    *atPP = P;
    [1m// Unknown label (hopefully something we don't care about)[0m
    *valueP = [4m0xFFFF1111[m;
    [1mreturn[0m([4m1[m);
}

[4mint[m
Cdwarf::load_uint32([4mchar[m **atPP, uint32T *valueP)
{
    [4mstatic[m [4mint[m cnt1 = [4m0[m;[14;4H [4mchar[m    *atP;
    uint32T uint32;
    uint64T uint64;
    urefT   uref;
    [4mchar[m    c;[20;4H ++cnt1;[22;4H atP = *atPP;
    [1mif[0m (strncmp(atP, [4m" .long "[m, [4m7[m)) {[24;8H assert([4m0[m);[25;63H920,13-16     27%[12;16H[25;1H/cnt1[25;63H[K[25;1H[62C928,4-7[7C27%[20;7H[25;67H3-6[20;6H[25;67H2-5[20;5H[25;1H[1m-- INSERT --[0m[25;63H[K[25;63H928,2-5[7C27%[20;5H f ++cnt1;[25;67H4-7[20;7H[25;1H[K[20;6H[25;63H928,3-6[7C27%[20;6H[25;1H1 change; before #1  2 seconds ago[25;63H[K[20;4H ++cnt1;[20;12H[K[25;63H928,2-5[7C27%[20;5H[25;1H[1m-- INSERT --[0m[25;13H[K[25;63H929,1[9C27%[21;24r[21;1HM[1;25r[25;63H[K[25;63H929,1[9C27%[21;1H[25;67H2-5[21;5H i[25;67H3-6[21;6H[1mif[0m[25;67H5-8[21;8H (*[24;37H[7m{[0m[25;67H7-10[21;10H[21;9H[K[25;67H6-9 [21;9H(c[25;67H7-10[21;10Hcnt[25;67H9-12[21;12Ht1[25;67H10-13[21;13H[25;68H1-14[21;14H =[25;68H2-15[21;15H==[25;68H3-16[21;16H[25;68H4-17[21;17H [4m4[m[25;68H5-18[21;18H[4m41[m[25;68H6-19[21;19H[4m10[m[25;68H7-20[21;20H[4m0[m)[24;37H{[25;68H8-21[21;21H[25;68H9-22[21;22H[22;24r[22;1HM[1;25r[21;21H {[25;63H[K[25;63H930,1[9C27%[22;1H[25;67H2-5[22;5H[25;67H3-9[22;9H t[25;67H4-10[22;10Htr[25;67H5-11[22;11Hra[25;67H6-12[22;12Hap[25;67H7-13[22;13Hp()[25;67H9-15[22;15H);[25;67H10-16[22;16H[24;5H[K[25;65H1,1    [23;1H[25;67H2-5[23;5H }[25;67H3-6[23;6H[25;1H[K[23;5H[25;63H931,2-5[7C27%[23;5H[25;63H[K[25;1H:1
[m[m[0m[H[J[1;1H[4m#ifdef WIN32
#define _CRT_SECURE_NO_WARNINGS
#endif

#ifndef WIN32
#include <assert.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#include "xmalloc.h"
#include "util.h"
#include "object.h"
#include "label.h"
#include "classmember.h"
#include "function.h"
#include "dwarf.h"

#define INDENT "  "[m
[1m//#define DUMP_STRINGTABLE
//#define DUMP_ABBREVIATIONS
//#define DUMP_HEADER[0m

[4mextern[m [4mint[m g_debug_dwarf;[25;63H1,1[11CTop[1;1H[25;63H[K[25;1H/trap
[1;24r[24;1H




[1;25r[21;1H[1m/* Process debug information in Assembler as per Dwalf 2 & 3 specification */[0m

[4mvoid[m
trap_dwarf([4mvoid[m)[25;1H[K[25;63H29,1[11C0%[24;1H[25;63H[K[25;1H//trap
[m[m[0m[H[J[1;1H{
    [4mstatic[m [4mint[m cnt1 = [4m0[m;[4;4H [4mchar[m    *atP;
    uint32T uint32;
    uint64T uint64;
    urefT   uref;
    [4mchar[m    c;[10;4H ++cnt1;
    [1mif[0m (cnt1 == [4m410[m) {[12;8H trap();
    }[15;4H atP = *atPP;
    [1mif[0m (strncmp(atP, [4m" .long "[m, [4m7[m)) {[17;8H assert([4m0[m);[18;8H [1mreturn[0m([4m0[m);
    }
    atP += [4m7[m;
    [1mif[0m ((c = *atP) >= [4m'0'[m && c <= [4m'9'[m) {[22;8H [1mif[0m (!load_unsigned(&atP, &uint64)) {[23;12H assert([4m0[m);[24;12H [1mreturn[0m([4m0[m);[25;63H930,3-9[7C27%[12;9H[25;67H4-10[12;10H[25;67H5-11[12;11H[25;67H6-12[12;12H[25;67H7-13[12;13H[25;1H[1m-- INSERT --[0m[25;63H[K[25;63H930,7-13      27%[12;13Hp_();[25;67H8-14[12;14H_dw();[25;67H10-16[12;16Hwarf();[25;68H3-19[12;19H[25;1H[K[12;18H[25;63H930,12-18     27%[12;18H[25;63H[K[25;1H:w
"dwarf.cpp" 3369L, 76224C written[29C930,12-18     27%[25;63H[K[25;63H930,12-18     27%[12;18H[25;1H[K[25;1H:q
[?1l>[25;1H[K[25;1Hijdavis@swag:~/src/asx$ make
g++ -c -g -I. -I/home/ijdavis/src/binutils-2.21/include -Wall dwarf.cpp
g++ -o asx -g -I. -I/home/ijdavis/src/binutils-2.21/include -Wall /home/ijdavis/src/binutils-2.21/libiberty/xexit.o /home/ijdavis/src/binutils-2.21/libiberty/xmalloc.o /home/ijdavis/src/binutils-2.21/libiberty/xstrdup.o /home/ijdavis/src/binutils-2.21/libiberty/safe-ctype.o /home/ijdavis/src/binutils-2.21/libiberty/dyn-string.o /home/ijdavis/src/binutils-2.21/libiberty/cp-demangle.o /home/ijdavis/src/binutils-2.21/libiberty/cplus-dem.o  /home/ijdavis/src/binutils-2.21/binutils/debug.o /home/ijdavis/src/binutils-2.21/binutils/stabs.o /home/ijdavis/src/binutils-2.21/binutils/ieee.o /home/ijdavis/src/binutils-2.21/binutils/rdcoff.o /home/ijdavis/src/binutils-2.21/binutils/bucomm.o /home/ijdavis/src/binutils-2.21/binutils/filemode.o /home/ijdavis/src/binutils-2.21/opcodes/disassemble.o /home/ijdavis/src/binutils-2.21/opcodes/dis-buf.o /home/ijdavis/src/binutils-2.21/opcodes/dis-init.o /home/ijdavis/src/binutils-2.21/opcodes/i386-dis.o asxo/asxo.o cx/cx.o xmalloc.o util.o label.o dwarf.o sanity.o entity.o archive.o directory.o source.o collection.o file.o template.o class.o classmember.o variable.o function.o edge.o signature_buffer.o signature.o asx.o /home/ijdavis/src/binutils-2.21/bfd/libbfd.a /home/ijdavis/src/binutils-2.21/libiberty/libiberty.a /home/ijdavis/src/zlib-1.2.5/libz.a 
ijdavis@swag:~/src/asx$ gdb asx
GNU gdb (GDB) 7.1-ubuntu
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/ijdavis/src/asx/asx...done.
(gdb) break trap_dwarf
Breakpoint 1 at 0x44219c: file dwarf.cpp, line 31.
(gdb) r < history1
Starting program: /home/ijdavis/src/asx/asx < history1
// ASX 3.0.10 Compiled Nov 17 2011:16:35:07 Start: Thu Nov 17 18:47:27 2011

// ASX_IGNORE=a;o;so
// Arguments to /home/ijdavis/src/asx/asx:
//
/home/ijdavis/mozilla-central/build/unix/elfhack//home/ijdavis/mozilla-central/build/unix/elfhack/test.c

Breakpoint 1, trap_dwarf () at dwarf.cpp:31
31	}
(gdb) n
Cdwarf::load_uint32 (this=0x7f3480, atPP=0x7fffffffe238, valueP=0x7fffffffe248)
    at dwarf.cpp:933
933		atP = *atPP;
(gdb) 
934		if (strncmp(atP, " .long ", 7)) {
(gdb) p atP
$1 = 0x7ffff7fcd2a8 " .long foo@DTPOFF, 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb"...
(gdb) n
938		atP += 7;
(gdb) n[Kn
939		if ((c = *atP) >= '0' && c <= '9') {
(gdb) p atP
$2 = 0x7ffff7fcd2af "foo@DTPOFF, 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb128 0x1"...
(gdb) n
950			if (!load_label(&atP, &uref)) {
(gdb) n[Ks
Cdwarf::load_label (this=0x7f3480, atPP=0x7fffffffe1e0, valueP=0x7fffffffe1d0)
    at dwarf.cpp:887
887		atP = P = *atPP;
(gdb) n
889			switch (c = *P) {
(gdb) p atP
$3 = 0x7ffff7fcd2af "foo@DTPOFF, 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb128 0x1"...
(gdb) n
888		for (; ; ++P) {
(gdb) n
889			switch (c = *P) {
(gdb) n
888		for (; ; ++P) {
(gdb) n
889			switch (c = *P) {
(gdb) n
888		for (; ; ++P) {
(gdb) n
889			switch (c = *P) {
(gdb) n
888		for (; ; ++P) {
(gdb) n
889			switch (c = *P) {
(gdb) n
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
888		for (; ; ++P) {
(gdb) 
889			switch (c = *P) {
(gdb) 
900		*P  = 0;
(gdb) p P
$4 = 0x7ffff7fcd2b9 ", 0\n .byte 0xe0\n .byte 0x0\n .section .debug_abbrev\n .uleb128 0x1\n .uleb128 0x11\n .byte 0x1\n .uleb128 0x25\n .uleb128 0xe\n .uleb128 0x13\n .uleb128 0xb\n .uleb128 0x3\n .uleb128 0xe\n .uleb128 0x1b\n .uleb12"...
(gdb) n
901		lth = P - atP;
(gdb) n
903		for (labelP = m_labelsP; (P1 = labelP->labelP); ++labelP) {
(gdb) l
898			break;
899		}
900		*P  = 0;
901		lth = P - atP;
902	
903		for (labelP = m_labelsP; (P1 = labelP->labelP); ++labelP) {
904			if (lth == labelP->label_lth && !strncmp(atP, P1, lth)) {
905				*valueP = (urefT) labelP->lineno;
906				*P    = c;
907				*atPP = P;
(gdb) l
908				return(1);
909		}	}
910		*P    = c;
911		*atPP = P;
912		// Unknown label (hopefully something we don't care about)
913		*valueP = 0xFFFF1111;
914		return(1);
915	}
916	
917	int
(gdb) break 910
Breakpoint 2 at 0x442edf: file dwarf.cpp, line 910.
(gdb) c
Continuing.

Breakpoint 2, Cdwarf::load_label (this=0x7f3480, atPP=0x7fffffffe1e0, 
    value