1
0
mirror of https://github.com/golang/go synced 2024-10-04 05:21:22 -06:00
Commit Graph

36 Commits

Author SHA1 Message Date
Russ Cox
45ce825544 debugging symbols for 8g.
backtraces don't work,
but they didn't work when i started either.

R=ken
OCL=33230
CL=33230
2009-08-13 15:45:58 -07:00
Russ Cox
43f29e64a6 mechanism for putting go types into 6.out symbol table.
no types yet.

R=ken
OCL=33142
CL=33146
2009-08-12 18:16:24 -07:00
Russ Cox
57a9bd0ee3 change gotype in symbol table from
character string to machine address.
not filled in, just carved out.

R=austin
DELTA=77  (11 added, 34 deleted, 32 changed)
OCL=33122
CL=33124
2009-08-12 16:14:53 -07:00
Russ Cox
7343e03c43 runtime: stack growth adjustments, cleanup
* keep coherent SP/PC in gobuf
	  (i.e., SP that would be in use at that PC)
	* gogocall replaces setspgoto,
	  should work better in presence of link registers
	* delete unused system calls

only amd64; 386 is now broken

R=r
DELTA=548  (183 added, 183 deleted, 182 changed)
OCL=30381
CL=30442
2009-06-17 15:12:16 -07:00
Kai Backman
1ac2cfc720 grab bag of changes aimed at getting stack splitting to work:
- morestack support for 5l and arm runtime
- argsize support in 5c, 5l, ar and nm. assembly code from 5a
  will break in interesting ways unless NOSPLIT is specified
- explicit cond execution constants
- fix 5l output to use %d instead of %ld so that negative
  values show.
- added a lot of code to arm/asm.s. runtime entry code almost
  working currently aborts at gogo not implemented

R=rsc
APPROVED=rsc
DELTA=305  (125 added, 29 deleted, 151 changed)
OCL=30246
CL=30347
2009-06-16 11:25:58 -07:00
Russ Cox
7d73075511 darwin support for 32-bit debugging
R=r
DELTA=129  (78 added, 1 deleted, 50 changed)
OCL=29411
CL=29413
2009-05-26 17:20:57 -07:00
Kai Backman
9c6fd4c144 Added support for .5 files in libmach_64. Copied 5obj.c from
plan9 libmach.

R=rsc
APPROVED=rsc
DELTA=142  (139 added, 3 deleted, 0 changed)
OCL=29281
CL=29281
2009-05-22 16:29:22 -07:00
Russ Cox
d2e42f3e48 if the process stops with SIGTRAP (breakpoint),
don't relay the signal when restarting it.

R=r
DELTA=1  (0 added, 0 deleted, 1 changed)
OCL=28060
CL=28064
2009-04-29 18:53:01 -07:00
Rob Pike
57bff962d9 fix gotest by fixing nm -s to print in file order by storing a sequence number
as the .6 file is read.   now tests will be run in file order.

R=rsc
DELTA=9  (6 added, 1 deleted, 2 changed)
OCL=27542
CL=27544
2009-04-15 21:57:55 -07:00
Russ Cox
fcd536d801 add .8 support to libmach_amd64 [sic].
add code to handle 32-bit Mach-O and ELF binaries.

R=r
DELTA=452  (365 added, 29 deleted, 58 changed)
OCL=26696
CL=26712
2009-03-24 18:04:50 -07:00
Russ Cox
0f4f2a6183 closures - runtime and debugger support, test case
R=r
DELTA=257  (250 added, 1 deleted, 6 changed)
OCL=24509
CL=24565
2009-02-06 13:46:56 -08:00
Russ Cox
7fd04676ad fix build on thresher - missing constants
TBR=r
OCL=24439
CL=24439
2009-02-05 13:00:12 -08:00
Russ Cox
736903c170 libmach:
* heuristic to go farther during stack traces.
	* significantly improved Linux thread handing.

acid:
	* update to new libmach interface.

prof:
	* use new libmach interface.
	* multiple thread support (derived from Rob's copy).
	* first steps toward pprof-like graphs:
	  keep counters indexed by pc,callerpc pairs.

R=r
DELTA=909  (576 added, 123 deleted, 210 changed)
OCL=24240
CL=24259
2009-02-03 15:00:09 -08:00
Russ Cox
fb88a01cc2 marginally better thread debugging on Linux.
if you clone inside a traced pid, the child
is automatically attached and stopped,
apparently.

R=r
DELTA=63  (41 added, 12 deleted, 10 changed)
OCL=24096
CL=24106
2009-02-02 13:26:40 -08:00
Russ Cox
6fdb18f900 can finally close this TODO - 6l was broken
R=r
DELTA=2  (0 added, 2 deleted, 0 changed)
OCL=23993
CL=23995
2009-01-30 17:14:39 -08:00
Russ Cox
360962420c casify, cleanup sys
R=r
OCL=22978
CL=22984
2009-01-16 14:58:14 -08:00
Russ Cox
eaa2a364a7 libmach: always print 0x on hex numbers
R=r
DELTA=3  (0 added, 0 deleted, 3 changed)
OCL=21558
CL=21558
2008-12-18 18:23:48 -08:00
Russ Cox
67addd4e11 symbol table changes
* add gotype string to symbol table
	* fill in gotype in 6l for known funcs/vars
	* print gotype with nm -t

	* load symbol and pc/ln tables into memory at magic address 0x99<<32.
	* add sys.symdat() to retrieve raw bytes of symbol table
	  and pc/ln table.

most of this should be considered experimental
and subject to change.

R=r
DELTA=157  (128 added, 0 deleted, 29 changed)
OCL=19746
CL=19750
2008-11-20 17:32:18 -08:00
Russ Cox
7832ab5ba0 code coverage tool
$ 6cov -g 235.go 6.out
	235.go:62,62 main·main 0x27c9-0x2829 MOVL	$main·.stringo(SB),AX
	235.go:30,30 main·main 0x2856-0x285e ADDQ	$6c0,SP
	$

and assorted fixes.

R=r
DELTA=743  (732 added, 8 deleted, 3 changed)
OCL=19226
CL=19243
2008-11-14 10:45:23 -08:00
Russ Cox
28912ce03f fix compiler warnings
R=r
DELTA=44  (10 added, 9 deleted, 25 changed)
OCL=17502
CL=17502
2008-10-20 15:26:38 -07:00
Russ Cox
2662aad7b7 libmach_amd64: refresh darwin thread list each time we get asked.
R=r
DELTA=1  (1 added, 0 deleted, 0 changed)
OCL=15982
CL=15993
2008-09-26 14:10:33 -07:00
Rob Pike
7c48a39423 better debuggers:
- follow through segmented stacks
	- a couple of fixes to db

R=rsc
DELTA=72  (62 added, 0 deleted, 10 changed)
OCL=15713
CL=15717
2008-09-23 15:08:39 -07:00
Russ Cox
72e3b204e4 add gobuild.
use gobuild-generated Makefile for math and os.
other makefile tweaks.
move math/main.go to test/math.go

R=r
OCL=15529
CL=15537
2008-09-19 11:55:46 -07:00
Russ Cox
899c5281da make acid build on linux.
recognize symbol table info again on 64-only linux.

R=r
DELTA=11  (9 added, 0 deleted, 2 changed)
OCL=15486
CL=15486
2008-09-18 15:06:14 -07:00
Russ Cox
1841f3114e acid fixes etc. still not perfect.
R=r
DELTA=764  (694 added, 38 deleted, 32 changed)
OCL=15285
CL=15395
2008-09-16 12:33:00 -07:00
Russ Cox
c8dee2770d acid. works only on Linux for now
R=r
DELTA=7031  (6906 added, 113 deleted, 12 changed)
OCL=13847
CL=13852
2008-08-04 17:24:25 -07:00
Russ Cox
34514bdb72 Use a single Make.conf for setting CC, etc.
This makes it easy to build with other flags
(like -ggdb) or other compilers (like cc64).

R=r
DELTA=45  (6 added, 22 deleted, 17 changed)
OCL=13790
CL=13793
2008-08-03 23:03:31 -07:00
Russ Cox
9aad9fef76 make 6a, 6c, 6g, 6l, libmach_amd64 build on 64-bit gcc.
these guys really really want long to be 32-bits,
so ,s/long/int32/ (and then manual fixup).
still passes all tests.

(i started out looking for just those longs that
needed to be int32 instead, and it was just too hard
to track them down one by one.)

the longs were rare enough that i don't think
it will cause integration problems.

R=ken
OCL=13787
CL=13789
2008-08-03 17:25:15 -07:00
Rob Pike
c87597de2c put a makefile into runtime
make the runtime library an archive (rt0 is still separate)
update 6l to use the archive
add fakeobj.c, missing from prior change

SVN=124762
2008-06-25 21:19:05 -07:00
Rob Pike
250a091922 add plan 9 ar, which understands our symbol tables
SVN=124761
2008-06-25 20:58:35 -07:00
Rob Pike
deaac9800f previous change was a nit too aggressive - regular comparison should apply when comparing
internal symbol names

SVN=124461
2008-06-24 21:44:48 -07:00
Rob Pike
4061a7e9c7 allow an underscore to match centered dot (rune 00B7), so people don't have to
type a centered dot when debugging.

SVN=124460
2008-06-24 21:42:54 -07:00
Rob Pike
073486c3ed add support for debugging in MACH binaries
fix up libmach_amd64 to handle MACH binaries and symbols
db now works on mac and linux

SVN=122807
2008-06-15 17:22:57 -07:00
Rob Pike
1ad1044b2d hack to find first instruction for decoding the pc/line table properly.
SVN=122792
2008-06-13 18:15:30 -07:00
Rob Pike
34691ccd10 support symbol tables and line numbers in 6.out executables
SVN=122700
2008-06-13 12:55:37 -07:00
Rob Pike
b6c9221bb1 fix name of mach_amd64 library source dir
SVN=122506
2008-06-12 14:52:41 -07:00