summaryrefslogtreecommitdiff
path: root/src/liblink
Commit message (Collapse)AuthorAgeFilesLines
* all: power64 is now ppc64Russ Cox2014-12-051-5/+5
| | | | | | | | | Fixes issue 8654. LGTM=austin R=austin CC=golang-codereviews https://codereview.appspot.com/180600043
* [dev.cc] liblink: don't patch jumps to jumps to symbolsAustin Clements2014-12-051-2/+2
| | | | | | | | | | | | | | | | | | | | | | | When liblink sees something like JMP x ... x: JMP y it rewrites the first jump to jump directly to y. This is fine if y is a resolved label. However, it *also* does this if y is a function symbol, but fails to carry over the relocation that would later patch in that symbol's value. As a result, the original jump becomes either a self-jump (if relative) or a jump to PC 0 (if absolute). Fix this by disabling this optimization if the jump being patched in is a jump to a symbol. LGTM=minux R=rsc, minux CC=golang-codereviews https://codereview.appspot.com/185890044
* [dev.cc] 9l: make R_CALLPOWER like ELF's R_PPC64_REL24Austin Clements2014-11-251-1/+1
| | | | | | | | | | | | | | These accomplished the same thing, but R_CALLPOWER expected the whole instruction to be in the addend (and completely overwrote what was in the text section), while R_PPC64_REL24 overwrites only bits 6 through 24 of whatever was in the text section. Make R_CALLPOWER work like R_PPC64_REL24 to ease the implementation of dynamic linking. LGTM=rsc R=rsc CC=golang-codereviews, minux https://codereview.appspot.com/177430043
* [dev.cc] liblink: fix warnings on Plan 9David du Colombier2014-11-212-6/+6
| | | | | | | | | | | | | | | | | | warning: src/liblink/list6.c:94 set and not used: s warning: src/liblink/list6.c:157 format mismatch ld VLONG, arg 3 warning: src/liblink/list6.c:157 format mismatch E UINT, arg 4 warning: src/liblink/list6.c:157 format mismatch d VLONG, arg 5 warning: src/liblink/list6.c:163 set and not used: s warning: src/liblink/list9.c:105 set and not used: s warning: src/liblink/list9.c:185 format mismatch ld VLONG, arg 3 warning: src/liblink/list9.c:185 format mismatch E UINT, arg 4 warning: src/liblink/list9.c:185 format mismatch d VLONG, arg 5 warning: src/liblink/list9.c:193 set and not used: s LGTM=rsc R=rsc CC=austin, golang-codereviews, minux https://codereview.appspot.com/176130043
* [dev.cc] liblink: fix Solaris build some moreAustin Clements2014-11-201-3/+3
| | | | | | | | | | | a->name and a->class are char, so Solaris doesn't like using them as array indexes. (This same problem was fixed for amd64 in CL 169630043.) LGTM=aram, minux R=rsc, minux, aram CC=golang-codereviews https://codereview.appspot.com/175430043
* [dev.cc] all: merge dev.power64 (f57928630b36) into dev.ccRuss Cox2014-11-205-20/+30
|\ | | | | | | | | | | | | | | This will be the last dev.power64 merge; we'll finish on dev.cc. TBR=austin CC=golang-codereviews https://codereview.appspot.com/175420043
| * [dev.cc] liblink: fix warnings on Plan 9David du Colombier2014-11-143-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | warning: src/liblink/asm9.c:501 set and not used: bflag warning: src/liblink/list9.c:259 format mismatch .5lux INT, arg 4 warning: src/liblink/list9.c:261 format mismatch .5lux INT, arg 3 warning: src/liblink/list9.c:319 more arguments than format VLONG warning: src/liblink/obj9.c:222 set and not used: autoffset LGTM=bradfitz, austin R=rsc, bradfitz CC=austin, golang-codereviews https://codereview.appspot.com/175070043
| * [dev.cc] all: merge dev.power64 (7667e41f3ced) into dev.ccRuss Cox2014-11-142-12/+26
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is to reduce the delta between dev.cc and dev.garbage to just garbage collector changes. These are the files that had merge conflicts and have been edited by hand: malloc.go mem_linux.go mgc.go os1_linux.go proc1.go panic1.go runtime1.go LGTM=austin R=austin CC=golang-codereviews https://codereview.appspot.com/174180043
| | * [dev.cc] runtime: convert Solaris port to GoAram H?v?rneanu2014-11-131-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Memory management was consolitated with the BSD ports, since it was almost identical. Assembly thunks are gone, being replaced by the new //go:linkname feature. This change supersedes CL 138390043 (runtime: convert solaris netpoll to Go), which was previously reviewed and tested. This change is only the first step, the port now builds, but doesn't run. Binaries fail to exec: ld.so.1: 6.out: fatal: 6.out: TLS requirement failure : TLS support is unavailable Killed This seems to happen because binaries don't link with libc.so anymore. We will have to solve that in a different CL. Also this change is just a rough translation of the original C code, cleanup will come in a different CL. [This CL is part of the removal of C code from package runtime. See golang.org/s/dev.cc for an overview.] LGTM=rsc R=rsc, dave CC=golang-codereviews, iant, khr, minux, r, rlh https://codereview.appspot.com/174960043
| | * [dev.cc] liblink: resolve bss vs other conflict regardless of order foundRuss Cox2014-11-111-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the linker finds the same name given a BSS and a non-BSS symbol, the assumption is that the non-BSS symbol is the true one, and the BSS symbol is just the best Go can do toward an "extern" declaration. This has always been the case, as long as the object files were read in the right order. The old code worked when the BSS symbol is found before the non-BSS symbol. This CL adds equivalent logic for when the non-BSS symbol is found before the BSS symbol. This comes up when Go must refer to symbols defined in host object files. LGTM=r R=r CC=austin, golang-codereviews, iant, khr https://codereview.appspot.com/171480043
* | | [dev.power64] liblink: fix Solaris builddev.power64Austin Clements2014-11-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | a->class is a char. Boo hoo. LGTM=minux R=rsc, minux CC=golang-codereviews https://codereview.appspot.com/169630043
* | | [dev.power64] 6g,9g: formatters for Prog and Addr detailsAustin Clements2014-11-142-0/+79
|/ / | | | | | | | | | | | | | | | | | | | | | | The pretty printers for these make it hard to understand what's actually in the fields of these structures. These "ugly printers" show exactly what's in each field, which can be useful for understanding and debugging code. LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/175780043
* | [dev.power64] liblink: fix printing of branch targetsAustin Clements2014-11-031-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | Print PC stored in target Prog* of branch instructions when available instead of the offset stored in the branch instruction. The offset tends to be wrong after code transformations, so previously this led to confusing listings. LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/168980043
* | [dev.power64] liblink: emit wrapper code in correct placeAustin Clements2014-10-281-63/+63
| | | | | | | | | | | | | | | | | | | | The wrapper code was being emitted before the stack reservation, rather than after. LGTM=rsc R=rsc, dave CC=golang-codereviews https://codereview.appspot.com/161540043
* | [dev.power64] liblink: fix lost branch targetAustin Clements2014-10-271-2/+5
| | | | | | | | | | | | | | | | | | | | | | A recent commit lost the branch target in the really-big-stack case of splitstack, causing an infinite loop stack preempt case. Revive the branch target. LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/157790044
* | [dev.power64] liblink: power64 fixes and ports of changesAustin Clements2014-10-272-126/+102
| | | | | | | | | | | | | | | | | | | | | | | | | | Ports of platform-specific changes that happened on default after dev.power64 forked (fixes for c2go, wrapper math fixes, moved stackguard field, stackguard1 support, precise stacks). Bug fixes (missing AMOVW in instruction table, correct unsigned 32-bit remainder). LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/164920044
* | [dev.power64] liblink: print line numbers in disassembly on power64Austin Clements2014-10-241-3/+3
| | | | | | | | | | | | | | | | | | Matching other platforms. LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/161320043
* | [dev.power64] all: merge default into dev.power64Austin Clements2014-10-225-2/+5142
|\ \ | |/ |/| | | | | | | | | | | | | | | | | This brings dev.power64 up-to-date with the current tip of default. go_bootstrap is still panicking with a bad defer when initializing the runtime (even on amd64). LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/152570049
| * build: merge the great pkg/ rename into dev.power64Austin Clements2014-10-229-10/+10
| |\ | | | | | | | | | | | | | | | | | | | | | | | | This also removes pkg/runtime/traceback_lr.c, which was ported to Go in an earlier commit and then moved to runtime/traceback.go. Reviewer: rsc@golang.org rsc: LGTM
| * \ [dev.power64] build: merge default into dev.power64Austin Clements2014-10-227-116/+259
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | LGTM=rsc R=rsc CC=golang-codereviews https://codereview.appspot.com/160200044
| * | | [dev.power64] liblink: recognize add instruction as adjusting SPRuss Cox2014-08-182-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=minux R=minux CC=golang-codereviews https://codereview.appspot.com/128360043 Committer: Shenghou Ma <minux@golang.org>
| * | | [dev.power64] liblink: fix g->panicwrap update code generationShenghou Ma2014-08-151-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=rsc R=golang-codereviews, rsc CC=golang-codereviews https://codereview.appspot.com/123400043
| * | | [dev.power64] liblink: fix $large(SP) for floating point load/storeRuss Cox2014-08-141-8/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes test/cmplxdivide. LGTM=minux R=minux CC=golang-codereviews https://codereview.appspot.com/128190045
| * | | [dev.power64] liblink: fix handling of $nnn(reg)Russ Cox2014-08-131-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=minux R=minux CC=golang-codereviews https://codereview.appspot.com/126180043
| * | | [dev.power64] liblink: fix handling of MOVD with large constantsRuss Cox2014-08-132-15/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=minux R=golang-codereviews, minux CC=golang-codereviews https://codereview.appspot.com/122540043 Committer: Shenghou Ma <minux@golang.org>
| * | | [dev.power64] liblink: rewrite MOVD $con(Ra), Rb into ADD $con, Ra, Rb; fix ↵Shenghou Ma2014-08-131-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stack split prologue LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/129050043
| * | | [dev.power64] liblink: disable stack split for nowShenghou Ma2014-08-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/122460043
| * | | [dev.power64] liblink: support stack split, long conditional branchesShenghou Ma2014-08-123-46/+243
| | | | | | | | | | | | | | | | | | | | | | | | | | | | LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/123300043
| * | | [dev.power64] liblink: handle $i64. symbols, add debug output for -S -v, ↵Shenghou Ma2014-08-071-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | show rel addend in hex for RISC arches LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/127770043
| * | | [dev.power64] include/link.h, liblink: convert 9l functions to liblinkShenghou Ma2014-08-073-1449/+1034
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces CL 122990043. LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/123010043
| * | | [dev.power64] liblink: move span and asmout related function from obj9.c to ↵Shenghou Ma2014-08-072-852/+852
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | asm9.c To reduce delta for the upcoming liblink CL. Just code movement, no semantic changes. LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/124830043
| * | | [dev.power64] cmd/9a, cmd/9c, cmd/9l, liblink: import code from Vita Nuova.Shenghou Ma2014-08-064-0/+5299
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No modifications other than adding copyright header to each file, and concatenating several cmd/9l files together to form the liblink files. LGTM=rsc R=rsc, iant CC=golang-codereviews https://codereview.appspot.com/123840043
* | | | liblink: require DATA lines to be ordered by offset, with no overlapRuss Cox2014-10-141-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The assembler could give a better error, but this one is good enough for now. Fixes issue 8880. LGTM=r R=r CC=golang-codereviews https://codereview.appspot.com/153610043
* | | | liblink: generate MRC replacement in liblink, not tls_armDave Cheney2014-09-301-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes issue 8690. This CL moves the save of LR around BL runtime.read_tls_fallback to liblink as it is not needed when MRC is not replaced. LGTM=rsc, minux R=rsc, khr, minux CC=golang-codereviews https://codereview.appspot.com/147310043
* | | | liblink: fix cmd/ld -X flagRuss Cox2014-09-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes the test/linkx.go test, which does not run by default. (Issue 4139 is about fixing that.) Fixes issue 8806. LGTM=r R=golang-codereviews, r CC=bradfitz, golang-codereviews, iant https://codereview.appspot.com/145420043
* | | | cmd/cc, cmd/ld, runtime: disallow conservative data/bss objectsRuss Cox2014-09-241-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In linker, refuse to write conservative (array of pointers) as the garbage collection type for any variable in the data/bss GC program. In the linker, attach the Go type to an already-read C declaration during dedup. This gives us Go types for C globals for free as long as the cmd/dist-generated Go code contains the declaration. (Most runtime C declarations have a corresponding Go declaration. Both are bss declarations and so the linker dedups them.) In cmd/dist, add a few more C files to the auto-Go-declaration list in order to get Go type information for the C declarations into the linker. In C compiler, mark all non-pointer-containing global declarations and all string data as NOPTR. This allows them to exist in C files without any corresponding Go declaration. Count C function pointers as "non-pointer-containing", since we have no heap-allocated C functions. In runtime, add NOPTR to the remaining pointer-containing declarations, none of which refer to Go heap objects. In runtime, also move os.Args and syscall.envs data into runtime-owned variables. Otherwise, in programs that do not import os or syscall, the runtime variables named os.Args and syscall.envs will be missing type information. I believe that this CL eliminates the final source of conservative GC scanning in non-SWIG Go programs, and therefore... Fixes issue 909. LGTM=iant R=iant CC=golang-codereviews https://codereview.appspot.com/149770043
* | | | liblink, sync/atomic: fix arm buildRuss Cox2014-09-162-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The liblink code to insert the FUNCDATA for a stack map from the Go prototype was not correct for ARM (different data structure layout). Also, sync/atomic was missing some Go prototypes for ARM-specific functions. TBR=r CC=golang-codereviews https://codereview.appspot.com/143160045
* | | | liblink: make GO_ARGS the default for functions beginning with ?Russ Cox2014-09-161-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is a leading ?, assume there is a Go prototype and attach the Go prototype information to the function. If the function is not called from Go and does not need a Go prototype, it can be made file-local instead (using name<>(SB)). This fixes the current BSD build failures, by giving functions like sync/atomic.StoreUint32 argument stack map information. Fixes issue 8753. LGTM=khr, iant R=golang-codereviews, iant, khr, bradfitz CC=golang-codereviews, r, rlh https://codereview.appspot.com/142150043
* | | | cmd/gc: turn Go prototypes into ptr liveness maps for assembly functionsRuss Cox2014-09-121-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The goal here is to allow assembly functions to appear in the middle of a Go stack (having called other code) and still record enough information about their pointers so that stack copying and garbage collection can handle them precisely. Today, these frames are handled only conservatively. If you write func myfunc(x *float64) (y *int) (with no body, an 'extern' declaration), then the Go compiler now emits a liveness bitmap for use from the assembly definition of myfunc. The bitmap symbol is myfunc.args_stackmap and it contains two bitmaps. The first bitmap, in effect at function entry, marks all inputs as live. The second bitmap, not in effect at function entry, marks the outputs live as well. In funcdata.h, define new assembly macros: GO_ARGS opts in to using the Go compiler-generated liveness bitmap for the current function. GO_RESULTS_INITIALIZED indicates that the results have been initialized and need to be kept live for the remainder of the function; it causes a switch to the second generated bitmap for the assembly code that follows. NO_LOCAL_POINTERS indicates that there are no pointers in the local variables being stored in the function's stack frame. LGTM=khr R=khr CC=golang-codereviews https://codereview.appspot.com/137520043
* | | | runtime: assume precisestack, copystack, StackCopyAlways, ScanStackByFramesRuss Cox2014-09-093-229/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit to stack copying for stack growth. We're carrying around a surprising amount of cruft from older schemes. I am confident that precise stack scans and stack copying are here to stay. Delete fallback code for when precise stack info is disabled. Delete fallback code for when copying stacks is disabled. Delete fallback code for when StackCopyAlways is disabled. Delete Stktop chain - there is only one stack segment now. Delete M.moreargp, M.moreargsize, M.moreframesize, M.cret. Delete G.writenbuf (unrelated, just dead). Delete runtime.lessstack, runtime.oldstack. Delete many amd64 morestack variants. Delete initialization of morestack frame/arg sizes (shortens split prologue!). Replace G's stackguard/stackbase/stack0/stacksize/ syscallstack/syscallguard/forkstackguard with simple stack bounds (lo, hi). Update liblink, runtime/cgo for adjustments to G. LGTM=khr R=khr, bradfitz CC=golang-codereviews, iant, r https://codereview.appspot.com/137410043
* | | | liblink, runtime: diagnose and fix C code running on Go stackRuss Cox2014-09-083-2/+27
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL contains compiler+runtime changes that detect C code running on Go (not g0, not gsignal) stacks, and it contains corrections for what it detected. The detection works by changing the C prologue to use a different stack guard word in the G than Go prologue does. On the g0 and gsignal stacks, that stack guard word is set to the usual stack guard value. But on ordinary Go stacks, that stack guard word is set to ^0, which will make any stack split check fail. The C prologue then calls morestackc instead of morestack, and morestackc aborts the program with a message about running C code on a Go stack. This check catches all C code running on the Go stack except NOSPLIT code. The NOSPLIT code is allowed, so the check is complete. Since it is a dynamic check, the code must execute to be caught. But unlike the static checks we've been using in cmd/ld, the dynamic check works with function pointers and other indirect calls. For example it caught sigpanic being pushed onto Go stacks in the signal handlers. Fixes issue 8667. LGTM=khr, iant R=golang-codereviews, khr, iant CC=golang-codereviews, r https://codereview.appspot.com/133700043
* | | build: adjustments for move from src/pkg to srcRuss Cox2014-09-087-7/+7
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adjusts code referring to src/pkg to refer to src. Immediately after submitting this CL, I will submit a change doing 'hg mv src/pkg/* src'. That change will be too large to review with Rietveld but will contain only the 'hg mv'. This CL will break the build. The followup 'hg mv' will fix it. For more about the move, see golang.org/s/go14nopkg. LGTM=r R=r CC=golang-codereviews https://codereview.appspot.com/134570043
* | liblink: fix arm wrapper prologueRuss Cox2014-09-071-1/+1
| | | | | | | | | | | | | | | | Fixes arm build. TBR=khr CC=golang-codereviews https://codereview.appspot.com/132700043
* | runtime: fix nacl/amd64p32 buildRuss Cox2014-09-071-0/+22
| | | | | | | | | | | | | | | | | | Update issue 8675 Fixes nacl/amd64p32 build. TBR=khr CC=golang-codereviews https://codereview.appspot.com/141140045
* | liblink: fix arm build errorsRuss Cox2014-09-062-10/+8
| | | | | | | | | | | | | | | | | | | | This was supposed to be in CL 135490044 but got lost in a transfer from machine to machine. TBR=khr R=khr CC=golang-codereviews https://codereview.appspot.com/135560043
* | runtime: fix panic/wrapper/recover mathRuss Cox2014-09-063-90/+189
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The gp->panicwrap adjustment is just fatally flawed. Now that there is a Panic.argp field, update that instead. That can be done on entry only, so that unwinding doesn't need to worry about undoing anything. The wrappers emit a few more instructions in the prologue but everything else in the system gets much simpler. It also fixes (without trying) a broken test I never checked in. Fixes issue 7491. LGTM=khr R=khr CC=dvyukov, golang-codereviews, iant, r https://codereview.appspot.com/135490044
* | cmd/ld: diagnose Go calling CRuss Cox2014-08-311-4/+14
| | | | | | | | | | | | | | | | | | | | For example: go build -ldflags -C cmd/go 2>&1 | awk '{print $NF}' | sort | uniq -c | sort -nr LGTM=khr R=khr, josharian CC=golang-codereviews https://codereview.appspot.com/135170044
* | liblink: introduce way to avoid pc-relative addressingRuss Cox2014-08-251-4/+31
| | | | | | | | | | | | | | | | | | For Solaris. Sigh. LGTM=dave R=aram, iant, dave CC=golang-codereviews https://codereview.appspot.com/129540043
* | liblink: fix encoding of ASETPC in 6a, 8aJosh Bleecher Snyder2014-08-182-2/+2
| | | | | | | | | | | | | | | | | | It was incorrectly encoded as ASETLS. LGTM=ruiu, rsc R=rsc, ruiu CC=golang-codereviews https://codereview.appspot.com/126400043
* | liblink: use pc-relative addressing for all memory references in amd64 codeRuss Cox2014-08-181-21/+8
|/ | | | | | | LGTM=rminnich, iant R=golang-codereviews, rminnich, iant CC=golang-codereviews, r https://codereview.appspot.com/125140043