mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
cmd/all: stop generating ADATA Progs
The only remaining place that generated ADATA Prog was the assembler. Stop, and delete some now-dead code. Passes toolstash -cmp. Change-Id: I26578ff1b4868e98562b44f69d909c083e96f8d5 Reviewed-on: https://go-review.googlesource.com/20646 Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
7c18f8cdc3
commit
4f753e77f1
9 changed files with 21 additions and 81 deletions
|
|
@ -110,65 +110,6 @@ func (s *LSym) WriteString(ctxt *Link, off, siz int64, str string) {
|
|||
copy(s.P[off:off+siz], str)
|
||||
}
|
||||
|
||||
func savedata(ctxt *Link, p *Prog) {
|
||||
s := p.From.Sym
|
||||
off := int32(p.From.Offset)
|
||||
siz := int32(p.From3.Offset)
|
||||
if off < 0 || siz < 0 || off >= 1<<30 || siz >= 100 {
|
||||
log.Fatalf("savedata: bad off=%d siz=%d", off, siz)
|
||||
}
|
||||
if s.Type == SBSS || s.Type == STLSBSS {
|
||||
ctxt.Diag("cannot supply data for BSS var")
|
||||
}
|
||||
Symgrow(ctxt, s, int64(off+siz))
|
||||
|
||||
switch p.To.Type {
|
||||
default:
|
||||
ctxt.Diag("bad data: %v", p)
|
||||
|
||||
case TYPE_FCONST:
|
||||
switch siz {
|
||||
default:
|
||||
ctxt.Diag("unexpected %d-byte floating point constant", siz)
|
||||
|
||||
case 4:
|
||||
flt := math.Float32bits(float32(p.To.Val.(float64)))
|
||||
ctxt.Arch.ByteOrder.PutUint32(s.P[off:], flt)
|
||||
|
||||
case 8:
|
||||
flt := math.Float64bits(p.To.Val.(float64))
|
||||
ctxt.Arch.ByteOrder.PutUint64(s.P[off:], flt)
|
||||
}
|
||||
|
||||
case TYPE_SCONST:
|
||||
copy(s.P[off:off+siz], p.To.Val.(string))
|
||||
|
||||
case TYPE_CONST, TYPE_ADDR:
|
||||
if p.To.Sym != nil || p.To.Type == TYPE_ADDR {
|
||||
r := Addrel(s)
|
||||
r.Off = off
|
||||
r.Siz = uint8(siz)
|
||||
r.Sym = p.To.Sym
|
||||
r.Type = R_ADDR
|
||||
r.Add = p.To.Offset
|
||||
break
|
||||
}
|
||||
o := p.To.Offset
|
||||
switch siz {
|
||||
default:
|
||||
ctxt.Diag("unexpected %d-byte integer constant", siz)
|
||||
case 1:
|
||||
s.P[off] = byte(o)
|
||||
case 2:
|
||||
ctxt.Arch.ByteOrder.PutUint16(s.P[off:], uint16(o))
|
||||
case 4:
|
||||
ctxt.Arch.ByteOrder.PutUint32(s.P[off:], uint32(o))
|
||||
case 8:
|
||||
ctxt.Arch.ByteOrder.PutUint64(s.P[off:], uint64(o))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func Addrel(s *LSym) *Reloc {
|
||||
s.R = append(s.R, Reloc{})
|
||||
return &s.R[len(s.R)-1]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue