]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/internal/obj: add support for s390x
authorMichael Munday <munday@ca.ibm.com>
Fri, 18 Mar 2016 20:30:29 +0000 (16:30 -0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Tue, 22 Mar 2016 04:15:44 +0000 (04:15 +0000)
Adds a new R_PCRELDBL relocation for 2-byte aligned relative
relocations on s390x. Should be removed once #14218 is
implemented.

Change-Id: I79dd2d8e746ba8cbc26c570faccfdd691e8161e8
Reviewed-on: https://go-review.googlesource.com/20941
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

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

index e2993630a9a7f94e9142a544c7f5a842a8c7a310..0bf72817e637c13e409022bcb414d8dda26c89d9 100644 (file)
@@ -299,6 +299,7 @@ const (
        ABasePPC64
        ABaseARM64
        ABaseMIPS64
+       ABaseS390X
 
        AMask = 1<<12 - 1 // AND with this to use the opcode as an array index.
 )
@@ -564,6 +565,10 @@ const (
        // R_ADDRPOWER_DS but inserts the offset from the TOC to the address of the the
        // relocated symbol rather than the symbol's address.
        R_ADDRPOWER_TOCREL_DS
+
+       // R_PCRELDBL relocates s390x 2-byte aligned PC-relative addresses.
+       // TODO(mundaym): remove once variants can be serialized - see issue 14218.
+       R_PCRELDBL
 )
 
 type Auto struct {
index b04b1a55d45d538c27d4f04708d9f1bb23c92ac3..245fab9690e9bf9719cce6c3b1c1fab575145962 100644 (file)
@@ -529,6 +529,7 @@ const (
        RBasePPC64  = 4 * 1024  // range [4k, 8k)
        RBaseARM64  = 8 * 1024  // range [8k, 13k)
        RBaseMIPS64 = 13 * 1024 // range [13k, 14k)
+       RBaseS390X  = 14 * 1024 // range [14k, 15k)
 )
 
 // RegisterRegister binds a pretty-printer (Rconv) for register