summaryrefslogtreecommitdiff
path: root/src/pkg/exp/ogle
diff options
context:
space:
mode:
Diffstat (limited to 'src/pkg/exp/ogle')
-rw-r--r--src/pkg/exp/ogle/Makefile6
-rw-r--r--src/pkg/exp/ogle/cmd.go12
-rw-r--r--src/pkg/exp/ogle/process.go14
-rw-r--r--src/pkg/exp/ogle/rtype.go4
-rw-r--r--src/pkg/exp/ogle/vars.go4
5 files changed, 15 insertions, 25 deletions
diff --git a/src/pkg/exp/ogle/Makefile b/src/pkg/exp/ogle/Makefile
index b701afd9e..ef65d36c8 100644
--- a/src/pkg/exp/ogle/Makefile
+++ b/src/pkg/exp/ogle/Makefile
@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
-include ../../../Make.$(GOARCH)
+include ../../../Make.inc
TARG=exp/ogle
GOFILES=\
@@ -23,7 +23,7 @@ CLEANFILES+=ogle
include ../../../Make.pkg
main.$O: main.go package
- $(QUOTED_GOBIN)/$(GC) -I_obj $<
+ $(GC) -I_obj $<
ogle: main.$O
- $(QUOTED_GOBIN)/$(LD) -L_obj -o $@ $<
+ $(LD) -L_obj -o $@ $<
diff --git a/src/pkg/exp/ogle/cmd.go b/src/pkg/exp/ogle/cmd.go
index 2f087b777..ff137b0f8 100644
--- a/src/pkg/exp/ogle/cmd.go
+++ b/src/pkg/exp/ogle/cmd.go
@@ -18,6 +18,7 @@ import (
"strings"
)
+var fset = token.NewFileSet()
var world *eval.World
var curProc *Process
@@ -43,7 +44,7 @@ func Main() {
}
// Try line as code
- code, err := world.Compile(string(line))
+ code, err := world.Compile(fset, string(line))
if err != nil {
scanner.PrintError(os.Stderr, err)
continue
@@ -63,8 +64,7 @@ func Main() {
func newScanner(input []byte) (*scanner.Scanner, *scanner.ErrorVector) {
sc := new(scanner.Scanner)
ev := new(scanner.ErrorVector)
- sc.Init("input", input, ev, 0)
-
+ sc.Init(fset, "input", input, ev, 0)
return sc, ev
}
@@ -84,8 +84,8 @@ type cmd struct {
}
var cmds = []cmd{
- cmd{"load", cmdLoad},
- cmd{"bt", cmdBt},
+ {"load", cmdLoad},
+ {"bt", cmdBt},
}
// getCmd attempts to parse an input line as a registered command. If
@@ -101,7 +101,7 @@ func getCmd(line []byte) (*cmd, []byte) {
slit := string(lit)
for i := range cmds {
if cmds[i].cmd == slit {
- return &cmds[i], line[pos.Offset+len(lit):]
+ return &cmds[i], line[fset.Position(pos).Offset+len(lit):]
}
}
return nil, nil
diff --git a/src/pkg/exp/ogle/process.go b/src/pkg/exp/ogle/process.go
index 970a7497a..58e830aa6 100644
--- a/src/pkg/exp/ogle/process.go
+++ b/src/pkg/exp/ogle/process.go
@@ -390,17 +390,7 @@ func (p *Process) causesToEvents() ([]Event, os.Error) {
// postEvent appends an event to the posted queue. These events will
// be processed before any currently pending events.
func (p *Process) postEvent(ev Event) {
- n := len(p.posted)
- m := n * 2
- if m == 0 {
- m = 4
- }
- posted := make([]Event, n+1, m)
- for i, p := range p.posted {
- posted[i] = p
- }
- posted[n] = ev
- p.posted = posted
+ p.posted = append(p.posted, ev)
}
// processEvents processes events in the event queue until no events
@@ -452,7 +442,7 @@ func (p *Process) processEvent(ev Event) (EventAction, os.Error) {
action, err = p.goroutineExitHook.handle(ev)
default:
- log.Crashf("Unknown event type %T in queue", p.event)
+ log.Panicf("Unknown event type %T in queue", p.event)
}
if err != nil {
diff --git a/src/pkg/exp/ogle/rtype.go b/src/pkg/exp/ogle/rtype.go
index ce4fdb663..fd77f1bc2 100644
--- a/src/pkg/exp/ogle/rtype.go
+++ b/src/pkg/exp/ogle/rtype.go
@@ -103,7 +103,7 @@ func newManualType(t eval.Type, arch Arch) *remoteType {
rt = &remoteType{t, offset, fieldAlign, mk}
default:
- log.Crashf("cannot manually construct type %T", t)
+ log.Panicf("cannot manually construct type %T", t)
}
typeMap[t] = rt
@@ -142,7 +142,7 @@ func parseRemoteType(a aborter, rs remoteStruct) *remoteType {
if sym != nil {
name = sym.Name
}
- log.Stderrf("%sParsing type at %#x (%s)", prtIndent, addr, name)
+ log.Printf("%sParsing type at %#x (%s)", prtIndent, addr, name)
prtIndent += " "
defer func() { prtIndent = prtIndent[0 : len(prtIndent)-1] }()
}
diff --git a/src/pkg/exp/ogle/vars.go b/src/pkg/exp/ogle/vars.go
index eed60acec..8a3a14791 100644
--- a/src/pkg/exp/ogle/vars.go
+++ b/src/pkg/exp/ogle/vars.go
@@ -140,7 +140,7 @@ func (p *Process) populateWorld(w *eval.World) os.Error {
// Symbol name
name := s.BaseName()
if _, ok := pkg[name]; ok {
- log.Stderrf("Multiple definitions of symbol %s", s.Name)
+ log.Printf("Multiple definitions of symbol %s", s.Name)
continue
}
@@ -191,7 +191,7 @@ func (p *Process) populateWorld(w *eval.World) os.Error {
err := w.DefineConst(pkgName, pkgType, pkgVal)
if err != nil {
- log.Stderrf("while defining package %s: %v", pkgName, err)
+ log.Printf("while defining package %s: %v", pkgName, err)
}
}