Skip to content

Commit db2b6e1

Browse files
aleksatorbradfitz
authored andcommitted
cmd/link: remove unused flag -D (FlagDataAddr)
FlagDataAddr is a vestige from git commit 0cafb9e (2008; no Gerrit CL number). It was never used but unfortunately setting it would cause a spurious warning: warning: -D<value> is ignored because of -R0x1000 yet if -R was unset e.g. -R=0, the linker would crash with a divide by zero runtime panic. Fixes #28921 Change-Id: Ia910399bc269337a9a860f3a26cd48fae6e62724 Reviewed-on: https://go-review.googlesource.com/c/151021 Reviewed-by: Brad Fitzpatrick <[email protected]> Run-TryBot: Brad Fitzpatrick <[email protected]> TryBot-Result: Gobot Gobot <[email protected]>
1 parent aafa855 commit db2b6e1

File tree

11 files changed

+4
-126
lines changed

11 files changed

+4
-126
lines changed

src/cmd/link/internal/amd64/obj.go

+1-18
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -84,9 +83,6 @@ func archinit(ctxt *ld.Link) {
8483
if *ld.FlagTextAddr == -1 {
8584
*ld.FlagTextAddr = 0x200000 + int64(ld.HEADR)
8685
}
87-
if *ld.FlagDataAddr == -1 {
88-
*ld.FlagDataAddr = 0
89-
}
9086
if *ld.FlagRound == -1 {
9187
*ld.FlagRound = 0x200000
9288
}
@@ -99,9 +95,6 @@ func archinit(ctxt *ld.Link) {
9995
if *ld.FlagTextAddr == -1 {
10096
*ld.FlagTextAddr = 0x1000000 + int64(ld.HEADR)
10197
}
102-
if *ld.FlagDataAddr == -1 {
103-
*ld.FlagDataAddr = 0
104-
}
10598

10699
case objabi.Hlinux, /* elf64 executable */
107100
objabi.Hfreebsd, /* freebsd */
@@ -115,9 +108,6 @@ func archinit(ctxt *ld.Link) {
115108
if *ld.FlagTextAddr == -1 {
116109
*ld.FlagTextAddr = (1 << 22) + int64(ld.HEADR)
117110
}
118-
if *ld.FlagDataAddr == -1 {
119-
*ld.FlagDataAddr = 0
120-
}
121111
if *ld.FlagRound == -1 {
122112
*ld.FlagRound = 4096
123113
}
@@ -130,19 +120,12 @@ func archinit(ctxt *ld.Link) {
130120
if *ld.FlagTextAddr == -1 {
131121
*ld.FlagTextAddr = 0x20000
132122
}
133-
if *ld.FlagDataAddr == -1 {
134-
*ld.FlagDataAddr = 0
135-
}
136123
if *ld.FlagRound == -1 {
137124
*ld.FlagRound = 0x10000
138125
}
139126

140127
case objabi.Hwindows: /* PE executable */
141-
// ld.HEADR, ld.FlagTextAddr, ld.FlagDataAddr and ld.FlagRound are set in ld.Peinit
128+
// ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
142129
return
143130
}
144-
145-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
146-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
147-
}
148131
}

src/cmd/link/internal/arm/obj.go

+1-18
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -81,9 +80,6 @@ func archinit(ctxt *ld.Link) {
8180
if *ld.FlagTextAddr == -1 {
8281
*ld.FlagTextAddr = 4128
8382
}
84-
if *ld.FlagDataAddr == -1 {
85-
*ld.FlagDataAddr = 0
86-
}
8783
if *ld.FlagRound == -1 {
8884
*ld.FlagRound = 4096
8985
}
@@ -99,9 +95,6 @@ func archinit(ctxt *ld.Link) {
9995
if *ld.FlagTextAddr == -1 {
10096
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
10197
}
102-
if *ld.FlagDataAddr == -1 {
103-
*ld.FlagDataAddr = 0
104-
}
10598
if *ld.FlagRound == -1 {
10699
*ld.FlagRound = 0x10000
107100
}
@@ -113,9 +106,6 @@ func archinit(ctxt *ld.Link) {
113106
if *ld.FlagTextAddr == -1 {
114107
*ld.FlagTextAddr = 0x20000
115108
}
116-
if *ld.FlagDataAddr == -1 {
117-
*ld.FlagDataAddr = 0
118-
}
119109
if *ld.FlagRound == -1 {
120110
*ld.FlagRound = 0x10000
121111
}
@@ -125,19 +115,12 @@ func archinit(ctxt *ld.Link) {
125115
if *ld.FlagTextAddr == -1 {
126116
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
127117
}
128-
if *ld.FlagDataAddr == -1 {
129-
*ld.FlagDataAddr = 0
130-
}
131118
if *ld.FlagRound == -1 {
132119
*ld.FlagRound = 4096
133120
}
134121

135122
case objabi.Hwindows: /* PE executable */
136-
// ld.HEADR, ld.FlagTextAddr, ld.FlagDataAddr and ld.FlagRound are set in ld.Peinit
123+
// ld.HEADR, ld.FlagTextAddr, ld.FlagRound are set in ld.Peinit
137124
return
138125
}
139-
140-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
141-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
142-
}
143126
}

src/cmd/link/internal/arm64/obj.go

-17
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -80,9 +79,6 @@ func archinit(ctxt *ld.Link) {
8079
if *ld.FlagTextAddr == -1 {
8180
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
8281
}
83-
if *ld.FlagDataAddr == -1 {
84-
*ld.FlagDataAddr = 0
85-
}
8682
if *ld.FlagRound == -1 {
8783
*ld.FlagRound = 4096
8884
}
@@ -93,9 +89,6 @@ func archinit(ctxt *ld.Link) {
9389
if *ld.FlagTextAddr == -1 {
9490
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
9591
}
96-
if *ld.FlagDataAddr == -1 {
97-
*ld.FlagDataAddr = 0
98-
}
9992
if *ld.FlagRound == -1 {
10093
*ld.FlagRound = 0x10000
10194
}
@@ -105,9 +98,6 @@ func archinit(ctxt *ld.Link) {
10598
if *ld.FlagTextAddr == -1 {
10699
*ld.FlagTextAddr = 4096 + int64(ld.HEADR)
107100
}
108-
if *ld.FlagDataAddr == -1 {
109-
*ld.FlagDataAddr = 0
110-
}
111101
if *ld.FlagRound == -1 {
112102
*ld.FlagRound = 4096
113103
}
@@ -119,15 +109,8 @@ func archinit(ctxt *ld.Link) {
119109
if *ld.FlagTextAddr == -1 {
120110
*ld.FlagTextAddr = 0x20000
121111
}
122-
if *ld.FlagDataAddr == -1 {
123-
*ld.FlagDataAddr = 0
124-
}
125112
if *ld.FlagRound == -1 {
126113
*ld.FlagRound = 0x10000
127114
}
128115
}
129-
130-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
131-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
132-
}
133116
}

src/cmd/link/internal/ld/main.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,6 @@ var (
8888

8989
FlagRound = flag.Int("R", -1, "set address rounding `quantum`")
9090
FlagTextAddr = flag.Int64("T", -1, "set text segment `address`")
91-
FlagDataAddr = flag.Int64("D", -1, "set data segment `address`")
9291
flagEntrySymbol = flag.String("E", "", "set `entry` symbol name")
9392

9493
cpuprofile = flag.String("cpuprofile", "", "write cpu profile to `file`")
@@ -181,7 +180,7 @@ func Main(arch *sys.Arch, theArch Arch) {
181180
}
182181

183182
if ctxt.Debugvlog != 0 {
184-
ctxt.Logf("HEADER = -H%d -T0x%x -D0x%x -R0x%x\n", ctxt.HeadType, uint64(*FlagTextAddr), uint64(*FlagDataAddr), uint32(*FlagRound))
183+
ctxt.Logf("HEADER = -H%d -T0x%x -R0x%x\n", ctxt.HeadType, uint64(*FlagTextAddr), uint32(*FlagRound))
185184
}
186185

187186
switch ctxt.BuildMode {

src/cmd/link/internal/ld/pe.go

-6
Original file line numberDiff line numberDiff line change
@@ -975,15 +975,9 @@ func Peinit(ctxt *Link) {
975975
if *FlagTextAddr == -1 {
976976
*FlagTextAddr = PEBASE + int64(PESECTHEADR)
977977
}
978-
if *FlagDataAddr == -1 {
979-
*FlagDataAddr = 0
980-
}
981978
if *FlagRound == -1 {
982979
*FlagRound = int(PESECTALIGN)
983980
}
984-
if *FlagDataAddr != 0 && *FlagRound != 0 {
985-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*FlagDataAddr), uint32(*FlagRound))
986-
}
987981
}
988982

989983
func pewrite(ctxt *Link) {

src/cmd/link/internal/ld/xcoff.go

-2
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ type XcoffAoutHdr64 struct {
9797
Ox64flags uint16 // Additional Flags For 64-Bit Objects
9898
Oresv3a int16 // Reserved
9999
Oresv3 [2]int32 // Reserved
100-
101100
}
102101

103102
// Section Header
@@ -507,7 +506,6 @@ func Xcoffinit(ctxt *Link) {
507506
Errorf(nil, "-T not available on AIX")
508507
}
509508
*FlagTextAddr = XCOFFTEXTBASE + int64(HEADR)
510-
*FlagDataAddr = 0
511509
if *FlagRound != -1 {
512510
Errorf(nil, "-R not available on AIX")
513511
}

src/cmd/link/internal/mips/obj.go

-8
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -82,15 +81,8 @@ func archinit(ctxt *ld.Link) {
8281
if *ld.FlagTextAddr == -1 {
8382
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
8483
}
85-
if *ld.FlagDataAddr == -1 {
86-
*ld.FlagDataAddr = 0
87-
}
8884
if *ld.FlagRound == -1 {
8985
*ld.FlagRound = 0x10000
9086
}
9187
}
92-
93-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
94-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
95-
}
9688
}

src/cmd/link/internal/mips64/obj.go

-14
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -81,9 +80,6 @@ func archinit(ctxt *ld.Link) {
8180
if *ld.FlagTextAddr == -1 {
8281
*ld.FlagTextAddr = 16*1024 + int64(ld.HEADR)
8382
}
84-
if *ld.FlagDataAddr == -1 {
85-
*ld.FlagDataAddr = 0
86-
}
8783
if *ld.FlagRound == -1 {
8884
*ld.FlagRound = 16 * 1024
8985
}
@@ -94,9 +90,6 @@ func archinit(ctxt *ld.Link) {
9490
if *ld.FlagTextAddr == -1 {
9591
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
9692
}
97-
if *ld.FlagDataAddr == -1 {
98-
*ld.FlagDataAddr = 0
99-
}
10093
if *ld.FlagRound == -1 {
10194
*ld.FlagRound = 0x10000
10295
}
@@ -108,15 +101,8 @@ func archinit(ctxt *ld.Link) {
108101
if *ld.FlagTextAddr == -1 {
109102
*ld.FlagTextAddr = 0x20000
110103
}
111-
if *ld.FlagDataAddr == -1 {
112-
*ld.FlagDataAddr = 0
113-
}
114104
if *ld.FlagRound == -1 {
115105
*ld.FlagRound = 0x10000
116106
}
117107
}
118-
119-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
120-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
121-
}
122108
}

src/cmd/link/internal/ppc64/obj.go

-15
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -85,9 +84,6 @@ func archinit(ctxt *ld.Link) {
8584
if *ld.FlagTextAddr == -1 {
8685
*ld.FlagTextAddr = 4128
8786
}
88-
if *ld.FlagDataAddr == -1 {
89-
*ld.FlagDataAddr = 0
90-
}
9187
if *ld.FlagRound == -1 {
9288
*ld.FlagRound = 4096
9389
}
@@ -98,9 +94,6 @@ func archinit(ctxt *ld.Link) {
9894
if *ld.FlagTextAddr == -1 {
9995
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
10096
}
101-
if *ld.FlagDataAddr == -1 {
102-
*ld.FlagDataAddr = 0
103-
}
10497
if *ld.FlagRound == -1 {
10598
*ld.FlagRound = 0x10000
10699
}
@@ -112,19 +105,11 @@ func archinit(ctxt *ld.Link) {
112105
if *ld.FlagTextAddr == -1 {
113106
*ld.FlagTextAddr = 0x20000
114107
}
115-
if *ld.FlagDataAddr == -1 {
116-
*ld.FlagDataAddr = 0
117-
}
118108
if *ld.FlagRound == -1 {
119109
*ld.FlagRound = 0x10000
120110
}
121111

122112
case objabi.Haix:
123113
ld.Xcoffinit(ctxt)
124-
125-
}
126-
127-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
128-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
129114
}
130115
}

src/cmd/link/internal/s390x/obj.go

-8
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import (
3434
"cmd/internal/objabi"
3535
"cmd/internal/sys"
3636
"cmd/link/internal/ld"
37-
"fmt"
3837
)
3938

4039
func Init() (*sys.Arch, ld.Arch) {
@@ -81,15 +80,8 @@ func archinit(ctxt *ld.Link) {
8180
if *ld.FlagTextAddr == -1 {
8281
*ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
8382
}
84-
if *ld.FlagDataAddr == -1 {
85-
*ld.FlagDataAddr = 0
86-
}
8783
if *ld.FlagRound == -1 {
8884
*ld.FlagRound = 0x10000
8985
}
9086
}
91-
92-
if *ld.FlagDataAddr != 0 && *ld.FlagRound != 0 {
93-
fmt.Printf("warning: -D0x%x is ignored because of -R0x%x\n", uint64(*ld.FlagDataAddr), uint32(*ld.FlagRound))
94-
}
9587
}

0 commit comments

Comments
 (0)