-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
arm: fix boot looping when building with GCC 14 #80579
Merged
mmahadevan108
merged 2 commits into
zephyrproject-rtos:main
from
fabiobaltieri:arm-gcc14-asm-fix
Oct 31, 2024
Merged
arm: fix boot looping when building with GCC 14 #80579
mmahadevan108
merged 2 commits into
zephyrproject-rtos:main
from
fabiobaltieri:arm-gcc14-asm-fix
Oct 31, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
zephyrbot
requested review from
bbolen,
carlocaione,
galak,
ithinuel,
MaureenHelm,
microbuilder and
stephanosio
October 29, 2024 16:45
Move the _main argument to the input list rather than the output one on the asm block and change the spec to "r". The ASM block does not return, so it does not make sense for it to expect any output. Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
Add "memory" to the clobber list" From GCC 14 the compiler optimizes away memory accesses that do not impact the asm block. Adding the memory to the clobber list lets the compiler know that the memory state is to be preserved. Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
fabiobaltieri
force-pushed
the
arm-gcc14-asm-fix
branch
from
October 29, 2024 16:52
cd8f74d
to
4f0b9c7
Compare
ithinuel
approved these changes
Oct 29, 2024
coreboot-org-bot
pushed a commit
to coreboot/zephyr-cros
that referenced
this pull request
Oct 29, 2024
Move the _main argument to the input list rather than the output one on the asm block and change the spec to "r". The ASM block does not return, so it does not make sense for it to expect any output. zephyrproject-rtos/zephyr#80579 BUG=b:376282914 Change-Id: Ie6f1ab781bdc8d0de87353bcf48e2c4ade2d4dc1 Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5975475 Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
coreboot-org-bot
pushed a commit
to coreboot/zephyr-cros
that referenced
this pull request
Oct 29, 2024
Add "memory" to the clobber list" From GCC 14 the compiler optimizes away memory accesses that do not impact the asm block. Adding the memory to the clobber list lets the compiler know that the memory state is to be preserved. zephyrproject-rtos/zephyr#80579 BUG=b:376282914 Change-Id: I990e2256d0019361b3ef1f736095ebca3806a6e1 Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5976801 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org>
stephanosio
approved these changes
Oct 29, 2024
dkalowsk
approved these changes
Oct 29, 2024
coreboot-org-bot
pushed a commit
to coreboot/zephyr-cros
that referenced
this pull request
Nov 5, 2024
This reverts commit 00ff8b6. Reason for revert: Commit landed upstream in zephyrproject-rtos/zephyr@63890e2 Original change's description: > FROMPULL: arch: arm: cortex_m: add memory to the clobber list > > Add "memory" to the clobber list" > > From GCC 14 the compiler optimizes away memory accesses that do not > impact the asm block. Adding the memory to the clobber list lets the > compiler know that the memory state is to be preserved. > > zephyrproject-rtos/zephyr#80579 > > BUG=b:376282914 > > Change-Id: I990e2256d0019361b3ef1f736095ebca3806a6e1 > Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> > Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5976801 > Commit-Queue: Jeremy Bettis <jbettis@chromium.org> > Tested-by: Jeremy Bettis <jbettis@chromium.org> BUG=b:376282914 Change-Id: I8458857a2e52c8174257d0d3e94ac766dcf54027 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5994230 Tested-by: Yuval Peress <peress@google.com> Auto-Submit: Yuval Peress <peress@google.com> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Commit-Queue: Yuval Peress <peress@google.com>
coreboot-org-bot
pushed a commit
to coreboot/zephyr-cros
that referenced
this pull request
Nov 5, 2024
This reverts commit 1307455. Reason for revert: Commit landed upstream in zephyrproject-rtos/zephyr@7015a0e Original change's description: > FROMPULL: arch: arm: cortex_m: move _main in input list > > Move the _main argument to the input list rather than the output one on > the asm block and change the spec to "r". The ASM block does not return, > so it does not make sense for it to expect any output. > > zephyrproject-rtos/zephyr#80579 > > BUG=b:376282914 > > Change-Id: Ie6f1ab781bdc8d0de87353bcf48e2c4ade2d4dc1 > Signed-off-by: Wilfried Chauveau <wilfried.chauveau@arm.com> > Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com> > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5975475 > Tested-by: Jeremy Bettis <jbettis@chromium.org> > Commit-Queue: Jeremy Bettis <jbettis@chromium.org> BUG=b:376282914 Change-Id: I189e76cbfed650a98be338f9cd5c1aa79d396b47 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/zephyr/+/5991739 Auto-Submit: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com> Reviewed-by: Fabio Baltieri <fabiobaltieri@google.com> Tested-by: Yuval Peress <peress@google.com>
# for free
to join this conversation on GitHub.
Already have an account?
# to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix a boot loop when building with GCC on ARM platforms due to some extra optimizations introduced in GCC 14 combined with some missing specs on an asm block.
Fixes #80542
Tested on an NPCX9, GCC 14.2.0 of some flavor