1
0
mirror of https://github.com/golang/go synced 2024-11-18 20:14:43 -07:00

[dev.cc] cmd/objwriter: add placeholder program

cmd/internal/obj is the name for the Go translation of the C liblink library.

cmd/objwriter is the name of a Go binary that runs liblink's writeobj function.
When the bulk of liblink has been converted to Go but the assemblers and
compilers are still written in C, the C writeobj will shell out to the Go objwriter
to actually write the object file. This lets us manage the transition in smaller
pieces.

The objwriter tool is purely transitional.
It will not ship in any release (enforced in cmd/dist).

Adding a dummy program and some dummy imports here so that we
can work on the bootstrap mechanisms that will be necessary to build it.
Once the build process handles objwriter properly,
we'll work on the actual implementation.

Change-Id: I675c818b3a513c26bb91c6dba564c6ace3b7fcd4
Reviewed-on: https://go-review.googlesource.com/3043
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Russ Cox 2015-01-19 11:45:48 -05:00
parent c4dd7fac89
commit 283b23297a
5 changed files with 42 additions and 0 deletions

View File

@ -356,6 +356,7 @@ var oldtool = []string{
// not be in release branches.
var unreleased = []string{
"src/cmd/link",
"src/cmd/objwriter",
"src/debug/goobj",
"src/old",
}

View File

@ -398,6 +398,7 @@ var goTools = map[string]targetDir{
"cmd/link": toTool,
"cmd/nm": toTool,
"cmd/objdump": toTool,
"cmd/objwriter": toTool,
"cmd/pack": toTool,
"cmd/pprof": toTool,
"cmd/yacc": toTool,

View File

@ -0,0 +1,9 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Dummy placeholder for the real obj package.
package obj
var Exported bool

View File

@ -0,0 +1,9 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Dummy placeholder for the real obj package.
package x86
var Exported bool

22
src/cmd/objwriter/main.go Normal file
View File

@ -0,0 +1,22 @@
// Copyright 2015 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Objwriter reads an object file description in an unspecified format
// and writes a Go object file. It is invoked by parts of the toolchain
// that have not yet been converted from C to Go and should not be
// used otherwise.
package main
import "cmd/internal/obj"
import (
"cmd/internal/obj/x86"
)
// TODO(rsc): Implement.
// For now we just check that the objwriter binary is available to be run.
func main() {
_ = obj.Exported
_ = x86.Exported
}