Commit 46c0afd
committed
[ATfE] v8-M library naming and selection issues for strict alignment builds. (arm#250)
We don’t have a -mno-unaligned-access specific variant for the v8M libraries. For v8-M with strict aligned access, it’s more appropriate to use the v7-M variants, as they include a version with strict alignment support. It was a deliberate decision to provide strict-alignment variants only for a subset of architectures.
To support this, both -mno-unaligned-access and -munaligned-access options must be passed into the multilib selection logic. This aligns with the approach in llvm/llvm-project#134099, which also considers the target architecture when determining the alignment access policy. Since Armv6-M does not support unaligned accesses, test changes are needed to reflect the updated behaviour when the target architecture is taken into account.
This patch fixes below issues.
1. The naming of the v8-M libraries should explicitly include
‘unaligned’ to reflect their behaviour.
2. When using -mno-unaligned-access, the multilib system should instead
select the v7-M variant.
3. Armv6m test changes are needed to reflect the updated behaviour when
the target architecture is taken into account.
(cherry picked from commit 8c3bbfc)1 parent b4e43bf commit 46c0afd
File tree
7 files changed
+24
-22
lines changed- arm-software/embedded
- arm-multilib/json
- variants
- test/multilib
7 files changed
+24
-22
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
441 | 441 | | |
442 | 442 | | |
443 | 443 | | |
444 | | - | |
445 | | - | |
446 | | - | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
447 | 447 | | |
448 | 448 | | |
449 | | - | |
450 | | - | |
451 | | - | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
452 | 452 | | |
453 | 453 | | |
454 | | - | |
455 | | - | |
456 | | - | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
457 | 457 | | |
458 | 458 | | |
459 | | - | |
460 | | - | |
461 | | - | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
462 | 462 | | |
463 | 463 | | |
464 | 464 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
2 | | - | |
3 | | - | |
4 | | - | |
| 1 | + | |
5 | 2 | | |
6 | 3 | | |
7 | 4 | | |
8 | 5 | | |
9 | | - | |
10 | | - | |
11 | | - | |
12 | | - | |
| 6 | + | |
13 | 7 | | |
14 | 8 | | |
15 | 9 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
0 commit comments