cmd/go: recognize AIX objects and archives
authorIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jan 2018 04:27:38 +0000 (04:27 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Fri, 19 Jan 2018 04:27:38 +0000 (04:27 +0000)
    Reviewed-on: https://go-review.googlesource.com/88275

From-SVN: r256873

gcc/go/gofrontend/MERGE
libgo/go/cmd/go/internal/work/exec.go

index 1a51e104084869e87eb7c201a1ebbbc570cb6c06..a16df7a5a2a9d8937a0a4a6ad9dbe668b80d647f 100644 (file)
@@ -1,4 +1,4 @@
-6b4f1391e2cd637fa5ed797bb3ab43d9ede61997
+cf33aedb66b5121708f5640443c1336080a47fe5
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 7e3f695e6f3b2698cc600d886ea59f9efa3b4ea1..c2704c4335ecf38df1315dad3118580906ce5c94 100644 (file)
@@ -1282,6 +1282,7 @@ func (b *Builder) cover(a *Action, dst, src string, perm os.FileMode, varName st
 
 var objectMagic = [][]byte{
        {'!', '<', 'a', 'r', 'c', 'h', '>', '\n'}, // Package archive
+       {'<', 'b', 'i', 'g', 'a', 'f', '>', '\n'}, // Package AIX big archive
        {'\x7F', 'E', 'L', 'F'},                   // ELF
        {0xFE, 0xED, 0xFA, 0xCE},                  // Mach-O big-endian 32-bit
        {0xFE, 0xED, 0xFA, 0xCF},                  // Mach-O big-endian 64-bit
@@ -1291,6 +1292,8 @@ var objectMagic = [][]byte{
        {0x00, 0x00, 0x01, 0xEB},                  // Plan 9 i386
        {0x00, 0x00, 0x8a, 0x97},                  // Plan 9 amd64
        {0x00, 0x00, 0x06, 0x47},                  // Plan 9 arm
+       {0x01, 0xDF},                              // XCOFF32
+       {0x01, 0xF7},                              // XCOFF64
 }
 
 func isObject(s string) bool {