Skip to content

Commit 67faa3f

Browse files
Deepesh Varatharajang-scott-murray
authored andcommitted
rust-target-config: Update the data layout for x86 , ppc , riscv64 , aarch64 and loongaarch64 targets.
----------------------------------------------------------------------------------------- error: data-layout for target `x86-linux`, `e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128`, differs from LLVM target's `i686-unknown-linux-gnu` default layout, `e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128` error: data-layout for target `powerpc-linux`, `E-m:e-p:32:32-i64:64-n32`, differs from LLVM target's `powerpc-unknown-linux-gnu` default layout, `E-m:e-p:32:32-Fn32-i64:64-n32` error: data-layout for target `x86_64-poky-linux-gnux32`, `e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128`, differs from LLVM target's `x86_64-poky-linux-gnux32` default layout, `e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128` ------------------------------------------------------------------------------------------- Rust commits for updating the data layouts: x86: rust-lang/rust@dbff90c x86_64-x32: rust-lang/rust@ec55a05 aarch64: rust-lang/rust@4d397d3 ppc: rust-lang/rust@ad7ea8b riscv64gc: rust-lang/rust@f414715 loongaarch64: rust-lang/rust@4a06a5b Signed-off-by: Deepesh Varatharajan <[email protected]> Signed-off-by: Richard Purdie <[email protected]> (adapted from oe-core commit 5136176198d4d150afa39b50dc4e879f5b206909) Signed-off-by: Scott Murray <[email protected]>
1 parent 834e125 commit 67faa3f

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

classes-recipe/rust-target-config.bbclass

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ MAX_ATOMIC_WIDTH[armv7-eabi] = "64"
146146
FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2"
147147

148148
## aarch64-unknown-linux-{gnu, musl}
149-
DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
149+
DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
150150
TARGET_ENDIAN[aarch64] = "little"
151151
TARGET_POINTER_WIDTH[aarch64] = "64"
152152
TARGET_C_INT_WIDTH[aarch64] = "32"
@@ -160,21 +160,21 @@ TARGET_C_INT_WIDTH[x86_64] = "32"
160160
MAX_ATOMIC_WIDTH[x86_64] = "64"
161161

162162
## x86_64-unknown-linux-gnux32
163-
DATA_LAYOUT[x86_64-x32] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
163+
DATA_LAYOUT[x86_64-x32] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
164164
TARGET_ENDIAN[x86_64-x32] = "little"
165165
TARGET_POINTER_WIDTH[x86_64-x32] = "32"
166166
TARGET_C_INT_WIDTH[x86_64-x32] = "32"
167167
MAX_ATOMIC_WIDTH[x86_64-x32] = "64"
168168

169169
## i686-unknown-linux-{gnu, musl}
170-
DATA_LAYOUT[i686] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
170+
DATA_LAYOUT[i686] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"
171171
TARGET_ENDIAN[i686] = "little"
172172
TARGET_POINTER_WIDTH[i686] = "32"
173173
TARGET_C_INT_WIDTH[i686] = "32"
174174
MAX_ATOMIC_WIDTH[i686] = "64"
175175

176176
## XXX: a bit of a hack so qemux86 builds, clone of i686-unknown-linux-{gnu, musl} above
177-
DATA_LAYOUT[i586] = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128"
177+
DATA_LAYOUT[i586] = "e-m:e-p:32:32-p270:32:32-p271:32:32-p272:64:64-i128:128-f64:32:64-f80:32-n8:16:32-S128"
178178
TARGET_ENDIAN[i586] = "little"
179179
TARGET_POINTER_WIDTH[i586] = "32"
180180
TARGET_C_INT_WIDTH[i586] = "32"
@@ -216,21 +216,21 @@ TARGET_C_INT_WIDTH[mips64el] = "32"
216216
MAX_ATOMIC_WIDTH[mips64el] = "64"
217217

218218
## powerpc-unknown-linux-{gnu, musl}
219-
DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-i64:64-n32"
219+
DATA_LAYOUT[powerpc] = "E-m:e-p:32:32-Fn32-i64:64-n32"
220220
TARGET_ENDIAN[powerpc] = "big"
221221
TARGET_POINTER_WIDTH[powerpc] = "32"
222222
TARGET_C_INT_WIDTH[powerpc] = "32"
223223
MAX_ATOMIC_WIDTH[powerpc] = "32"
224224

225225
## powerpc64-unknown-linux-{gnu, musl}
226-
DATA_LAYOUT[powerpc64] = "E-m:e-i64:64-n32:64-S128-v256:256:256-v512:512:512"
226+
DATA_LAYOUT[powerpc64] = "E-m:e-Fi64-i64:64-n32:64-S128-v256:256:256-v512:512:512"
227227
TARGET_ENDIAN[powerpc64] = "big"
228228
TARGET_POINTER_WIDTH[powerpc64] = "64"
229229
TARGET_C_INT_WIDTH[powerpc64] = "32"
230230
MAX_ATOMIC_WIDTH[powerpc64] = "64"
231231

232232
## powerpc64le-unknown-linux-{gnu, musl}
233-
DATA_LAYOUT[powerpc64le] = "e-m:e-i64:64-n32:64-v256:256:256-v512:512:512"
233+
DATA_LAYOUT[powerpc64le] = "e-m:e-Fn32-i64:64-n32:64-S128-v256:256:256-v512:512:512"
234234
TARGET_ENDIAN[powerpc64le] = "little"
235235
TARGET_POINTER_WIDTH[powerpc64le] = "64"
236236
TARGET_C_INT_WIDTH[powerpc64le] = "32"
@@ -244,14 +244,14 @@ TARGET_C_INT_WIDTH[riscv32gc] = "32"
244244
MAX_ATOMIC_WIDTH[riscv32gc] = "32"
245245

246246
## riscv64gc-unknown-linux-{gnu, musl}
247-
DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n64-S128"
247+
DATA_LAYOUT[riscv64gc] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
248248
TARGET_ENDIAN[riscv64gc] = "little"
249249
TARGET_POINTER_WIDTH[riscv64gc] = "64"
250250
TARGET_C_INT_WIDTH[riscv64gc] = "32"
251251
MAX_ATOMIC_WIDTH[riscv64gc] = "64"
252252

253253
## loongarch64-unknown-linux-{gnu, musl}
254-
DATA_LAYOUT[loongarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
254+
DATA_LAYOUT[loongarch64] = "e-m:e-p:64:64-i64:64-i128:128-n32:64-S128"
255255
TARGET_ENDIAN[loongarch64] = "little"
256256
TARGET_POINTER_WIDTH[loongarch64] = "64"
257257
TARGET_C_INT_WIDTH[loongarch64] = "32"

0 commit comments

Comments
 (0)