File tree Expand file tree Collapse file tree 8 files changed +53
-1
lines changed Expand file tree Collapse file tree 8 files changed +53
-1
lines changed Original file line number Diff line number Diff line change @@ -617,6 +617,7 @@ var (
617
617
LinuxArmel = Platform (ocispecs.Platform {OS : "linux" , Architecture : "arm" , Variant : "v6" })
618
618
LinuxArm64 = Platform (ocispecs.Platform {OS : "linux" , Architecture : "arm64" })
619
619
LinuxS390x = Platform (ocispecs.Platform {OS : "linux" , Architecture : "s390x" })
620
+ LinuxPpc64 = Platform (ocispecs.Platform {OS : "linux" , Architecture : "ppc64" })
620
621
LinuxPpc64le = Platform (ocispecs.Platform {OS : "linux" , Architecture : "ppc64le" })
621
622
Darwin = Platform (ocispecs.Platform {OS : "darwin" , Architecture : "amd64" })
622
623
Windows = Platform (ocispecs.Platform {OS : "windows" , Architecture : "amd64" })
Original file line number Diff line number Diff line change @@ -27,6 +27,7 @@ var qemuArchMap = map[string]string{
27
27
"riscv64" : "riscv64" ,
28
28
"arm" : "arm" ,
29
29
"s390x" : "s390x" ,
30
+ "ppc64" : "ppc64" ,
30
31
"ppc64le" : "ppc64le" ,
31
32
"386" : "i386" ,
32
33
}
Original file line number Diff line number Diff line change @@ -36,6 +36,10 @@ FROM base AS exit-s390x
36
36
COPY fixtures/exit.s390x.s .
37
37
RUN s390x-linux-gnu-as --noexecstack -o exit.o exit.s390x.s && s390x-linux-gnu-ld -o exit -s exit.o
38
38
39
+ FROM base AS exit-ppc64
40
+ COPY fixtures/exit.ppc64.s .
41
+ RUN powerpc64le-linux-gnu-as -mbig --noexecstack -o exit.o exit.ppc64.s && powerpc64le-linux-gnu-ld -EB -o exit -s exit.o
42
+
39
43
FROM base AS exit-ppc64le
40
44
COPY fixtures/exit.ppc64le.s .
41
45
RUN powerpc64le-linux-gnu-as --noexecstack -o exit.o exit.ppc64le.s && powerpc64le-linux-gnu-ld -o exit -s exit.o
@@ -56,12 +60,13 @@ COPY --from=exit-arm64 /src/exit arm64
56
60
COPY --from=exit-arm /src/exit arm
57
61
COPY --from=exit-riscv64 /src/exit riscv64
58
62
COPY --from=exit-s390x /src/exit s390x
63
+ COPY --from=exit-ppc64 /src/exit ppc64
59
64
COPY --from=exit-ppc64le /src/exit ppc64le
60
65
COPY --from=exit-mips64le /src/exit mips64le
61
66
COPY --from=exit-mips64 /src/exit mips64
62
67
COPY generate.go .
63
68
64
- RUN go run generate.go amd64 386 arm64 arm riscv64 s390x ppc64le mips64le mips64 && ls -l
69
+ RUN go run generate.go amd64 386 arm64 arm riscv64 s390x ppc64 ppc64le mips64le mips64 && ls -l
65
70
66
71
67
72
FROM scratch
Original file line number Diff line number Diff line change @@ -48,6 +48,11 @@ func SupportedPlatforms(noCache bool) []ocispecs.Platform {
48
48
arr = append (arr , linux (p ))
49
49
}
50
50
}
51
+ if p := "ppc64" ; def .Architecture != p {
52
+ if _ , err := ppc64Supported (); err == nil {
53
+ arr = append (arr , linux (p ))
54
+ }
55
+ }
51
56
if p := "ppc64le" ; def .Architecture != p {
52
57
if _ , err := ppc64leSupported (); err == nil {
53
58
arr = append (arr , linux (p ))
@@ -109,6 +114,11 @@ func WarnIfUnsupported(pfs []ocispecs.Platform) {
109
114
printPlatformWarning (p , err )
110
115
}
111
116
}
117
+ if p .Architecture == "ppc64" {
118
+ if _ , err := ppc64Supported (); err != nil {
119
+ printPlatformWarning (p , err )
120
+ }
121
+ }
112
122
if p .Architecture == "ppc64le" {
113
123
if _ , err := ppc64leSupported (); err != nil {
114
124
printPlatformWarning (p , err )
Original file line number Diff line number Diff line change
1
+ .global _start
2
+ .section ".opd" ,"aw"
3
+ _start:
4
+ .quad .L.start,.TOC.@tocbase,0
5
+ .text
6
+ .abiversion 1
7
+ .L.start:
8
+ li %r0, 1
9
+ li %r3, 0
10
+ sc
Original file line number Diff line number Diff line change
1
+ //go:build !ppc64
2
+ // +build !ppc64
3
+
4
+ package archutil
5
+
6
+ // This file is generated by running make inside the archutil package.
7
+ // Do not edit manually.
8
+
9
+ const Binaryppc64 = "\x1f \x8b \x08 \x00 \x00 \x00 \x00 \x00 \x02 \xff \xec \xd0 \xb1 \x8a \x13 \x51 \x14 \x06 \xe0 \xff \x8e \xd9 \x45 \xd0 \x62 \x2c \x84 \x05 \x9b \x3c \x40 \x98 \x7a \xcb \x14 \x6a \x65 \xa3 \x2f \xa0 \x2b \x89 \x6c \x23 \xca \xee \x14 \x76 \xfb \xb4 \x81 \xbc \x45 \x24 \x93 \xc9 \x64 \x12 \x89 \xa4 \xb0 \x92 \xef \x83 \xdc \x73 \x72 \x66 \x7e \xce \x65 \x9e \xde \x7d \x78 \x5f \x55 \x25 \x83 \x2a \xaf \x93 \x74 \x83 \xba \x6c \xd6 \xfd \x74 \xde \x9d \x25 \xd3 \xee \x9c \xe7 \x36 \x93 \xcc \x73 \x95 \x49 \xff \xee \x55 \x46 \xea \x93 \x9a \x94 \xd9 \x51 \x2d \xc3 \x79 \xbd \x9b \xef \xf6 \xec \xf7 \x8d \xf6 \xde \x1c \xd5 \x92 \x2c \xda \xd5 \xc7 \x43 \xee \x62 \xf5 \xa2 \x5d \x7d \x4a \xba \xfb \x5e \xbe \x2f \x29 \xb7 \xdb \xdf \x97 \xe4 \xed \xf6 \xcb \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 \xfc \x27 \xea \x94 \x69 \x57 \xab \xa7 \xc3 \xb0 \x79 \xbc \x7f \x6c \x1f \xda \xbb \xaf \x69 \xda \xe5 \xaf \x36 \xcd \xf2 \xfe \xf3 \xb7 \x87 \xbb \xef \xcb \x34 \x3f \x7e \x2e \xfe \xc5 \xda \x17 \x49 \x4a \xdf \x5f \x8f \xef \x91 \xa1 \xe6 \xe5 \x49 \xe6 \xf9 \xa8 \x7f \x35 \xca \x57 \x7d \x7e \xd6 \xe7 \x67 \x67 \x76 \x4e \x46 \xfd \x9b \x51 \xfe \x59 \x97 \x2f \x9b \xf5 \xee \xef \xbe \xe6 \xe6 \x2f \xfb \xcb \x3e \xf7 \x87 \x32 \x74 \xd3 \x73 \x4f \x7e \x07 \x00 \x00 \xff \xff \x5e \xe4 \x1d \xbd \x60 \x01 \x01 \x00 "
Original file line number Diff line number Diff line change
1
+ //go:build !ppc64
2
+ // +build !ppc64
3
+
4
+ package archutil
5
+
6
+ func ppc64Supported () (string , error ) {
7
+ return check ("ppc64" , Binaryppc64 )
8
+ }
Original file line number Diff line number Diff line change
1
+ //go:build ppc64
2
+ // +build ppc64
3
+
4
+ package archutil
5
+
6
+ func ppc64Supported () (string , error ) {
7
+ return "" , nil
8
+ }
You can’t perform that action at this time.
0 commit comments