"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x200000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x200000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x1000000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
case objabi.Hlinux, /* elf64 executable */
objabi.Hfreebsd, /* freebsd */
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = (1 << 22) + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
case objabi.Hwindows: /* PE executable */
- // ld.HEADR, ld.FlagTextAddr, ld.FlagDataAddr and ld.FlagRound are set in ld.Peinit
+ // ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
return
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4128
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
case objabi.Hwindows: /* PE executable */
- // ld.HEADR, ld.FlagTextAddr, ld.FlagDataAddr and ld.FlagRound are set in ld.Peinit
+ // ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
return
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
FlagRound = flag.Int("R", -1, "set address rounding `quantum`")
FlagTextAddr = flag.Int64("T", -1, "set text segment `address`")
- FlagDataAddr = flag.Int64("D", -1, "set data segment `address`")
flagEntrySymbol = flag.String("E", "", "set `entry` symbol name")
cpuprofile = flag.String("cpuprofile", "", "write cpu profile to `file`")
}
if ctxt.Debugvlog != 0 {
- ctxt.Logf("HEADER = -H%d -T0x%x -D0x%x -R0x%x\n", ctxt.HeadType, uint64(*FlagTextAddr), uint64(*FlagDataAddr), uint32(*FlagRound))
+ ctxt.Logf("HEADER = -H%d -T0x%x -R0x%x\n", ctxt.HeadType, uint64(*FlagTextAddr), uint32(*FlagRound))
}
switch ctxt.BuildMode {
if *FlagTextAddr == -1 {
*FlagTextAddr = PEBASE + int64(PESECTHEADR)
}
- if *FlagDataAddr == -1 {
- *FlagDataAddr = 0
- }
if *FlagRound == -1 {
*FlagRound = int(PESECTALIGN)
}
- if *FlagDataAddr != 0 && *FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*FlagDataAddr), uint32(*FlagRound))
- }
}
func pewrite(ctxt *Link) {
Ox64flags uint16 // Additional Flags For 64-Bit Objects
Oresv3a int16 // Reserved
Oresv3 [2]int32 // Reserved
-
}
// Section Header
Errorf(nil, "-T not available on AIX")
}
*FlagTextAddr = XCOFFTEXTBASE + int64(HEADR)
- *FlagDataAddr = 0
if *FlagRound != -1 {
Errorf(nil, "-R not available on AIX")
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 16*1024 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 16 * 1024
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4128
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
case objabi.Haix:
ld.Xcoffinit(ctxt)
-
- }
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
}
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}
"cmd/internal/objabi"
"cmd/internal/sys"
"cmd/link/internal/ld"
- "fmt"
)
func Init() (*sys.Arch, ld.Arch) {
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x08048000 + int64(ld.HEADR)
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 4096
}
if *ld.FlagTextAddr == -1 {
*ld.FlagTextAddr = 0x20000
}
- if *ld.FlagDataAddr == -1 {
- *ld.FlagDataAddr = 0
- }
if *ld.FlagRound == -1 {
*ld.FlagRound = 0x10000
}
case objabi.Hwindows: /* PE executable */
- // ld.HEADR, ld.FlagTextAddr, ld.FlagDataAddr and ld.FlagRound are set in ld.Peinit
+ // ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
return
}
-
- if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
- fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
- }
}