Skip to content

Commit 03cb3de

Browse files
committed
Remove -mno-unaligned-access flag from AArch32 big endian variants. (#115)
The big endian library can be selected with or without the -mno-unaligned-access flag. Currently, selecting the variants below requires explicitly passing -mno-unaligned-access. This change removes the flag from the selection criteria, ensuring that below variants can be selected regardless of whether -mno-unaligned-access is used. - armebv7a_soft_nofp - armebv7a_soft_nofp_exn_rtti - armebv7a_hard_vfpv3_d16 - armebv7a_hard_vfpv3_d16_exn_rtti - armebv7a_soft_vfpv3_d16_exn_rtti - armebv7a_soft_vfpv3_d16 (cherry picked from commit fa1cfc6)
1 parent c5e276b commit 03cb3de

File tree

2 files changed

+67
-6
lines changed

2 files changed

+67
-6
lines changed

arm-software/embedded/arm-multilib/json/multilib.json

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,12 @@
187187
{
188188
"variant": "armebv7a_soft_nofp_exn_rtti",
189189
"json": "armebv7a_soft_nofp_exn_rtti.json",
190-
"flags": "--target=armebv7-unknown-none-eabi -mfpu=none -mno-unaligned-access"
190+
"flags": "--target=armebv7-unknown-none-eabi -mfpu=none"
191191
},
192192
{
193193
"variant": "armebv7a_soft_nofp",
194194
"json": "armebv7a_soft_nofp.json",
195-
"flags": "--target=armebv7-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access"
195+
"flags": "--target=armebv7-unknown-none-eabi -mfpu=none -fno-exceptions -fno-rtti"
196196
},
197197
{
198198
"variant": "armv7a_hard_vfpv3_d16_exn_rtti_unaligned",
@@ -217,12 +217,12 @@
217217
{
218218
"variant": "armebv7a_hard_vfpv3_d16_exn_rtti",
219219
"json": "armebv7a_hard_vfpv3_d16_exn_rtti.json",
220-
"flags": "--target=armebv7-unknown-none-eabihf -mfpu=vfpv3-d16 -mno-unaligned-access"
220+
"flags": "--target=armebv7-unknown-none-eabihf -mfpu=vfpv3-d16"
221221
},
222222
{
223223
"variant": "armebv7a_hard_vfpv3_d16",
224224
"json": "armebv7a_hard_vfpv3_d16.json",
225-
"flags": "--target=armebv7-unknown-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mno-unaligned-access"
225+
"flags": "--target=armebv7-unknown-none-eabihf -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti"
226226
},
227227
{
228228
"variant": "armv7a_soft_vfpv3_d16_exn_rtti_unaligned",
@@ -247,12 +247,12 @@
247247
{
248248
"variant": "armebv7a_soft_vfpv3_d16_exn_rtti",
249249
"json": "armebv7a_soft_vfpv3_d16_exn_rtti.json",
250-
"flags": "--target=armebv7-unknown-none-eabi -mfpu=vfpv3-d16 -mno-unaligned-access"
250+
"flags": "--target=armebv7-unknown-none-eabi -mfpu=vfpv3-d16"
251251
},
252252
{
253253
"variant": "armebv7a_soft_vfpv3_d16",
254254
"json": "armebv7a_soft_vfpv3_d16.json",
255-
"flags": "--target=armebv7-unknown-none-eabi -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mno-unaligned-access"
255+
"flags": "--target=armebv7-unknown-none-eabi -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti"
256256
},
257257
{
258258
"variant": "armv7r_soft_nofp_exn_rtti_unaligned",

arm-software/embedded/test/multilib/armv7a.test

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@
2222
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -mno-unaligned-access | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
2323
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -mno-unaligned-access -marm | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
2424
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -mno-unaligned-access -mthumb| FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
25+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
26+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none -marm | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
27+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none -mthumb| FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
28+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
29+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -marm | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
30+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -mthumb | FileCheck --check-prefix=NOFP-EXN-RTTI-BE %s
2531
# NOFP-EXN-RTTI-BE: arm-none-eabi/armebv7a_soft_nofp_exn_rtti{{$}}
2632
# NOFP-EXN-RTTI-BE-EMPTY:
2733

@@ -49,6 +55,12 @@
4955
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=NOFP-BE %s
5056
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access -marm | FileCheck --check-prefix=NOFP-BE %s
5157
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mno-unaligned-access -mthumb| FileCheck --check-prefix=NOFP-BE %s
58+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti | FileCheck --check-prefix=NOFP-BE %s
59+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=NOFP-BE %s
60+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mthumb| FileCheck --check-prefix=NOFP-BE %s
61+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti | FileCheck --check-prefix=NOFP-BE %s
62+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -marm | FileCheck --check-prefix=NOFP-BE %s
63+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabi -mbig-endian -mfpu=none -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=NOFP-BE %s
5264
# NOFP-BE: arm-none-eabi/armebv7a_soft_nofp{{$}}
5365
# NOFP-BE-EMPTY:
5466

@@ -97,6 +109,19 @@
97109
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb -mno-unaligned-access | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
98110
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mno-unaligned-access | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
99111
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb -mno-unaligned-access | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
112+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
113+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-vfpv3 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
114+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
115+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16-fp16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
116+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-fp16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
117+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv4-d16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
118+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv4 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
119+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-fp16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
120+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-vfpv4 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
121+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
122+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
123+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
124+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb | FileCheck --check-prefix=VFPV3-EXN-RTTI-BE %s
100125
# VFPV3-EXN-RTTI-BE: arm-none-eabi/armebv7a_hard_vfpv3_d16_exn_rtti{{$}}
101126
# VFPV3-EXN-RTTI-BE-EMPTY:
102127

@@ -145,6 +170,20 @@
145170
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=VFPV3-BE %s
146171
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=VFPV3-BE %s
147172
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mthumb -mno-unaligned-access | FileCheck --check-prefix=VFPV3-BE %s
173+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
174+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
175+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-vfpv3 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
176+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
177+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16-fp16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
178+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-fp16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
179+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv4-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
180+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv4 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
181+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-fp16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
182+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=neon-vfpv4 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
183+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -marm -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
184+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -mthumb -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
185+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti | FileCheck --check-prefix=VFPV3-BE %s
186+
# RUN: %clang -print-multi-directory --target=armv7ve-none-eabihf -mbig-endian -mfpu=vfpv3-d16 -fno-exceptions -fno-rtti -mthumb | FileCheck --check-prefix=VFPV3-BE %s
148187
# VFPV3-BE: arm-none-eabi/armebv7a_hard_vfpv3_d16{{$}}
149188
# VFPV3-BE-EMPTY:
150189

@@ -187,6 +226,17 @@
187226
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv4 -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
188227
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
189228
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
229+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
230+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv3 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
231+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
232+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16-fp16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
233+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-fp16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
234+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv4-d16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
235+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv4 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
236+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-fp16 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
237+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv4 -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
238+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
239+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp | FileCheck --check-prefix=SOFT-VFPV3-EXN-RTTI-BE %s
190240
# SOFT-VFPV3-EXN-RTTI-BE: arm-none-eabi/armebv7a_soft_vfpv3_d16_exn_rtti{{$}}
191241
# SOFT-VFPV3-EXN-RTTI-BE-EMPTY:
192242

@@ -229,6 +279,17 @@
229279
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv4 -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-BE %s
230280
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-BE %s
231281
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -fno-exceptions -fno-rtti -mno-unaligned-access | FileCheck --check-prefix=SOFT-VFPV3-BE %s
282+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
283+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv3 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
284+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
285+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16-fp16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
286+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-fp16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
287+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv4-d16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
288+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv4 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
289+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-fp16 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
290+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=neon-vfpv4 -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
291+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -marm -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
292+
# RUN: %clang -print-multi-directory --target=armv7a-none-eabi -mbig-endian -mfpu=vfpv3-d16 -mthumb -mfloat-abi=softfp -fno-exceptions -fno-rtti | FileCheck --check-prefix=SOFT-VFPV3-BE %s
232293
# SOFT-VFPV3-BE: arm-none-eabi/armebv7a_soft_vfpv3_d16{{$}}
233294
# SOFT-VFPV3-BE-EMPTY:
234295

0 commit comments

Comments
 (0)