if ctxt.IsElf() {
panic("elf should be generic")
}
+ if ctxt.IsWindows() {
+ panic("pe should be generic")
+ }
switch ctxt.HeadType {
default:
fallthrough
case objabi.Hplan9:
- case objabi.Hwindows:
break
}
ld.Spsize = 0
ld.Lcsize = 0
if !*ld.FlagS {
- if ctxt.HeadType == objabi.Hplan9 {
- *ld.FlagS = true
- symo := int64(ld.Segdata.Fileoff + ld.Segdata.Filelen)
- ctxt.Out.SeekSet(symo)
- ld.Asmplan9sym(ctxt)
- }
+ *ld.FlagS = true
+ symo := int64(ld.Segdata.Fileoff + ld.Segdata.Filelen)
+ ctxt.Out.SeekSet(symo)
+ ld.Asmplan9sym(ctxt)
}
ctxt.Out.SeekSet(0)
- switch ctxt.HeadType {
- default:
- case objabi.Hplan9: /* plan9 */
- magic := uint32(4*26*26 + 7)
- ld.WritePlan9Header(ctxt.Out, magic, ld.Entryvalue(ctxt), true)
-
- case objabi.Hwindows:
- ld.Asmbpe(ctxt)
- }
+ magic := uint32(4*26*26 + 7)
+ ld.WritePlan9Header(ctxt.Out, magic, ld.Entryvalue(ctxt), true)
}
func tlsIEtoLE(P []byte, off, size int) {
if ctxt.IsElf() {
panic("elf should be generic")
}
+ if ctxt.IsWindows() {
+ panic("pe should be generic")
+ }
/* output symbol table */
ld.Symsize = 0
ld.Lcsize = 0
if !*ld.FlagS {
- if ctxt.IsPlan9() {
- symo := uint32(ld.Segdata.Fileoff + ld.Segdata.Filelen)
- ctxt.Out.SeekSet(int64(symo))
- ld.Asmplan9sym(ctxt)
- }
+ symo := uint32(ld.Segdata.Fileoff + ld.Segdata.Filelen)
+ ctxt.Out.SeekSet(int64(symo))
+ ld.Asmplan9sym(ctxt)
}
- ctxt.Out.SeekSet(0)
- switch ctxt.HeadType {
- default:
- case objabi.Hplan9: /* plan 9 */
- ld.WritePlan9Header(ctxt.Out, 0x647, ld.Entryvalue(ctxt), false)
-
- case objabi.Hwindows:
- ld.Asmbpe(ctxt)
- }
+ ld.WritePlan9Header(ctxt.Out, 0x647, ld.Entryvalue(ctxt), false)
if *ld.FlagC {
fmt.Printf("textsize=%d\n", ld.Segtext.Filelen)
Asmbelf(ctxt, symo)
return true
}
+ if ctxt.IsWindows() {
+ Symsize = 0
+ Spsize = 0
+ Lcsize = 0
+ Asmbpe(ctxt)
+ return true
+ }
return false
}
if ctxt.IsElf() {
panic("elf should be generic")
}
+ if ctxt.IsWindows() {
+ panic("pe should be generic")
+ }
ld.Symsize = 0
ld.Spsize = 0
ld.Lcsize = 0
if !*ld.FlagS {
- if ctxt.HeadType == objabi.Hplan9 {
- symo := uint32(ld.Segdata.Fileoff + ld.Segdata.Filelen)
- ctxt.Out.SeekSet(int64(symo))
- ld.Asmplan9sym(ctxt)
- }
+ symo := uint32(ld.Segdata.Fileoff + ld.Segdata.Filelen)
+ ctxt.Out.SeekSet(int64(symo))
+ ld.Asmplan9sym(ctxt)
}
ctxt.Out.SeekSet(0)
- switch ctxt.HeadType {
- default:
- case objabi.Hplan9: /* plan9 */
- magic := uint32(4*11*11 + 7)
- ld.WritePlan9Header(ctxt.Out, magic, ld.Entryvalue(ctxt), false)
-
- case objabi.Hwindows:
- ld.Asmbpe(ctxt)
- }
+ magic := uint32(4*11*11 + 7)
+ ld.WritePlan9Header(ctxt.Out, magic, ld.Entryvalue(ctxt), false)
}