diff options
| author | Than McIntosh <thanm@google.com> | 2023-02-09 09:08:44 -0500 |
|---|---|---|
| committer | Than McIntosh <thanm@google.com> | 2023-02-10 14:29:07 +0000 |
| commit | 7d57a9ce82cc6841307bc1c3383808b36a884bc9 (patch) | |
| tree | d41214eda898d13c608dc125fa965ac166a7b455 | |
| parent | fb79da299127b3ff85e14f37e4616a26e6c2a720 (diff) | |
| download | go-7d57a9ce82cc6841307bc1c3383808b36a884bc9.tar.xz | |
cmd/link: improve error for missing SDYNIMPORT support on mips/mips64
Issue an error (instead of crashing) when encountering a symbol that
requires dynamic relocations on mips/mips64. The dynimport support is
in progress, but is not done yet, so rather than crashing, print a
message indicating that the feature is not yet implemented and exit.
Fixes #58240.
Change-Id: I9ad64c89e4f7b4b180964b35ad1d72d375f2df7f
Reviewed-on: https://go-review.googlesource.com/c/go/+/466895
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Joel Sing <joel@sing.id.au>
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
| -rw-r--r-- | src/cmd/link/internal/mips/obj.go | 8 | ||||
| -rw-r--r-- | src/cmd/link/internal/mips64/obj.go | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/cmd/link/internal/mips/obj.go b/src/cmd/link/internal/mips/obj.go index 0139d541df..1caddac6be 100644 --- a/src/cmd/link/internal/mips/obj.go +++ b/src/cmd/link/internal/mips/obj.go @@ -34,6 +34,7 @@ import ( "cmd/internal/objabi" "cmd/internal/sys" "cmd/link/internal/ld" + "cmd/link/internal/loader" "internal/buildcfg" ) @@ -52,6 +53,7 @@ func Init() (*sys.Arch, ld.Arch) { Dwarfregsp: DWARFREGSP, Dwarfreglr: DWARFREGLR, + Adddynrel: adddynrel, Archinit: archinit, Archreloc: archreloc, Archrelocvariant: archrelocvariant, @@ -97,3 +99,9 @@ func archinit(ctxt *ld.Link) { } } } + +func adddynrel(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loader.Sym, r loader.Reloc, rIdx int) bool { + ld.Exitf("adddynrel currently unimplemented for MIPS") + return false + +} diff --git a/src/cmd/link/internal/mips64/obj.go b/src/cmd/link/internal/mips64/obj.go index 59afb25095..a06e6f7981 100644 --- a/src/cmd/link/internal/mips64/obj.go +++ b/src/cmd/link/internal/mips64/obj.go @@ -34,6 +34,7 @@ import ( "cmd/internal/objabi" "cmd/internal/sys" "cmd/link/internal/ld" + "cmd/link/internal/loader" "internal/buildcfg" ) @@ -51,6 +52,7 @@ func Init() (*sys.Arch, ld.Arch) { Minalign: minAlign, Dwarfregsp: dwarfRegSP, Dwarfreglr: dwarfRegLR, + Adddynrel: adddynrel, Archinit: archinit, Archreloc: archreloc, Archrelocvariant: archrelocvariant, @@ -107,3 +109,9 @@ func archinit(ctxt *ld.Link) { } } } + +func adddynrel(target *ld.Target, ldr *loader.Loader, syms *ld.ArchSyms, s loader.Sym, r loader.Reloc, rIdx int) bool { + ld.Exitf("adddynrel currently unimplemented for MIPS64") + return false + +} |
