]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/link: remove unused flag -D (FlagDataAddr)
authorAlex Tokarev <aleksator@gmail.com>
Fri, 23 Nov 2018 06:45:51 +0000 (13:45 +0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 1 Mar 2019 02:14:00 +0000 (02:14 +0000)
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 <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/link/internal/amd64/obj.go
src/cmd/link/internal/arm/obj.go
src/cmd/link/internal/arm64/obj.go
src/cmd/link/internal/ld/main.go
src/cmd/link/internal/ld/pe.go
src/cmd/link/internal/ld/xcoff.go
src/cmd/link/internal/mips/obj.go
src/cmd/link/internal/mips64/obj.go
src/cmd/link/internal/ppc64/obj.go
src/cmd/link/internal/s390x/obj.go
src/cmd/link/internal/x86/obj.go

index 87e809166a330329d070df97422dd2d2ce03317d..eeeed1ab1a7d40b73f54259edd16153d83e9f01e 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -84,9 +83,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x200000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x200000
                }
@@ -99,9 +95,6 @@ func archinit(ctxt *ld.Link) {
                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 */
@@ -115,9 +108,6 @@ func archinit(ctxt *ld.Link) {
                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
                }
@@ -130,19 +120,12 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index 77716bb954dfdd994f6a2a154afbef446a348ca4..ea91711df01dd84a11dbc070486d9909528af74a 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -81,9 +80,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4128
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -99,9 +95,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x10000
                }
@@ -113,9 +106,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x20000
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x10000
                }
@@ -125,19 +115,12 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index 405d22d74f46023a12f34dae651d9a9884eabbc8..04202012ee2e7a13d488caebb42359b30c35742d 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -80,9 +79,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4096 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -93,9 +89,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x10000
                }
@@ -105,9 +98,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4096 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -119,15 +109,8 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index b87ee8094fb6a15be9a362f79e6816733d8dcbdd..e1d2da3f303adf4486e85363406e3ea50c882bbc 100644 (file)
@@ -88,7 +88,6 @@ var (
 
        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`")
@@ -181,7 +180,7 @@ func Main(arch *sys.Arch, theArch Arch) {
        }
 
        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 {
index 68251786ed90840f29653bfde27a153e32960653..3d9cb4898d1e4307420a098f94337574321a3a2a 100644 (file)
@@ -975,15 +975,9 @@ func Peinit(ctxt *Link) {
        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) {
index 188c7a5cfff87944907f83f1205e88402c3e53b0..4535b1ad60429639325e0421f522410d1096fd32 100644 (file)
@@ -97,7 +97,6 @@ type XcoffAoutHdr64 struct {
        Ox64flags   uint16   // Additional Flags For 64-Bit Objects
        Oresv3a     int16    // Reserved
        Oresv3      [2]int32 // Reserved
-
 }
 
 // Section Header
@@ -507,7 +506,6 @@ func Xcoffinit(ctxt *Link) {
                Errorf(nil, "-T not available on AIX")
        }
        *FlagTextAddr = XCOFFTEXTBASE + int64(HEADR)
-       *FlagDataAddr = 0
        if *FlagRound != -1 {
                Errorf(nil, "-R not available on AIX")
        }
index c5d3451c39b2d1ac21f35e5a595f9a9c011300eb..3c71e23497e199e6677e060cc8f24d15c474c1df 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -82,15 +81,8 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index 83974e5b5652c0d035d832b3444d93b14fed3638..b01746e59ac9e36555b678c01da445b466624be3 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -81,9 +80,6 @@ func archinit(ctxt *ld.Link) {
                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
                }
@@ -94,9 +90,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x10000
                }
@@ -108,15 +101,8 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index fbedc728d9baeadbd4c50e2235be12675f747eea..ef84031739b8f8f2c214a38b67de6fdff562a84a 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -85,9 +84,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4128
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -98,9 +94,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x10000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 0x10000
                }
@@ -112,19 +105,11 @@ func archinit(ctxt *ld.Link) {
                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))
        }
 }
index 9ac7eb82174aaaf7bbdec9dfc2acc31b963377e8..a7e30e2d6578eeddf0d1cd6f3ef7b5f5087d7957 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -81,15 +80,8 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }
index 6a744dc04e1c1715a9a29c6e0d313eea3cbe28ea..dbb31263a89f272f516dfd7c4a8d4b2c2d7e5496 100644 (file)
@@ -34,7 +34,6 @@ import (
        "cmd/internal/objabi"
        "cmd/internal/sys"
        "cmd/link/internal/ld"
-       "fmt"
 )
 
 func Init() (*sys.Arch, ld.Arch) {
@@ -79,9 +78,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4096 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -91,9 +87,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 4096 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -108,9 +101,6 @@ func archinit(ctxt *ld.Link) {
                if *ld.FlagTextAddr == -1 {
                        *ld.FlagTextAddr = 0x08048000 + int64(ld.HEADR)
                }
-               if *ld.FlagDataAddr == -1 {
-                       *ld.FlagDataAddr = 0
-               }
                if *ld.FlagRound == -1 {
                        *ld.FlagRound = 4096
                }
@@ -122,19 +112,12 @@ func archinit(ctxt *ld.Link) {
                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))
-       }
 }