]> Cypherpunks repositories - gostls13.git/commit
[dev.link] cmd/oldlink: add back the old linker
authorCherry Zhang <cherryyz@google.com>
Fri, 20 Mar 2020 15:54:24 +0000 (11:54 -0400)
committerCherry Zhang <cherryyz@google.com>
Mon, 23 Mar 2020 14:38:38 +0000 (14:38 +0000)
commit54c32590f0369f1b67ad3c988424676d3f1eebb8
tree6a247cdb523a5bb50314fb1e384ebb50bd1b051f
parentf652eb72b6b65a63572650de5b5c08cfcf65de6b
[dev.link] cmd/oldlink: add back the old linker

Basically a "cp -r" from tip's cmd/link (at commit
776a9d0958973bff6a66e61baa6a9a240ada4255), and fix up import
paths.

It is not used for now. A flag will be introduced in followup
CLs, which will allow to switch between the old and new linker.

Some adjustments to make it still build:
- Adjust accessor of NoSplit attribute to match the change in
  goobj2 package (cmd/oldlink/internal/loader/loader.go:1206).
- Change sym.Symbol's Len method to Length to match the new
  interface in cmd/internal/dwarf
  (cmd/oldlink/internal/sym/symbol.go:102).
- Add a TODO for deletion (cmd/oldlink/main.go:5).

Change-Id: I76e62f259cb6b494280f5511f75913bc37874746
Reviewed-on: https://go-review.googlesource.com/c/go/+/224622
Run-TryBot: Cherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Than McIntosh <thanm@google.com>
96 files changed:
src/cmd/oldlink/doc.go [new file with mode: 0644]
src/cmd/oldlink/dwarf_test.go [new file with mode: 0644]
src/cmd/oldlink/elf_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/amd64/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/amd64/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/amd64/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm64/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm64/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/arm64/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/ar.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/config.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/data.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/deadcode.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/deadcode2.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/decodesym.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/dwarf.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/dwarf_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/elf.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/elf_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/execarchive.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/execarchive_noexec.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/go.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/issue33808_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/ld.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/ld_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/lib.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/link.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/macho.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/macho_combine_dwarf.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/nooptcgolink_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/outbuf.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/outbuf_mmap.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/outbuf_nommap.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/outbuf_windows.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/pcln.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/pe.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/sym.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/symtab.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/httptest/main/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue10978/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue10978/main.s [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue25459/a/a.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue25459/main/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue26237/b.dir/b.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue26237/main/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue32233/lib/ObjC.m [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue32233/lib/lib.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/testdata/issue32233/main/main.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/typelink.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/util.go [new file with mode: 0644]
src/cmd/oldlink/internal/ld/xcoff.go [new file with mode: 0644]
src/cmd/oldlink/internal/loadelf/ldelf.go [new file with mode: 0644]
src/cmd/oldlink/internal/loader/loader.go [new file with mode: 0644]
src/cmd/oldlink/internal/loadmacho/ldmacho.go [new file with mode: 0644]
src/cmd/oldlink/internal/loadpe/ldpe.go [new file with mode: 0644]
src/cmd/oldlink/internal/loadxcoff/ldxcoff.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips64/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips64/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/mips64/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/objfile/objfile.go [new file with mode: 0644]
src/cmd/oldlink/internal/ppc64/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/ppc64/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/ppc64/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/riscv64/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/riscv64/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/riscv64/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/s390x/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/s390x/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/s390x/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/attribute.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/compilation_unit.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/library.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/reloc.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/segment.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/sizeof_test.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/symbol.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/symbols.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/symkind.go [new file with mode: 0644]
src/cmd/oldlink/internal/sym/symkind_string.go [new file with mode: 0644]
src/cmd/oldlink/internal/wasm/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/wasm/obj.go [new file with mode: 0644]
src/cmd/oldlink/internal/x86/asm.go [new file with mode: 0644]
src/cmd/oldlink/internal/x86/l.go [new file with mode: 0644]
src/cmd/oldlink/internal/x86/obj.go [new file with mode: 0644]
src/cmd/oldlink/link_test.go [new file with mode: 0644]
src/cmd/oldlink/linkbig_test.go [new file with mode: 0644]
src/cmd/oldlink/main.go [new file with mode: 0644]
src/cmd/oldlink/testdata/lib.go [new file with mode: 0644]
src/cmd/oldlink/testdata/main.m [new file with mode: 0644]