-
Notifications
You must be signed in to change notification settings - Fork 4.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARM/Linux build warning fix related with unw #5595
Comments
Unw uses SP/PC registers, which clang complains. fix #4259 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
@myungjoo ARM doc says that SP and PC cannot be in the list of registers of the STM instruction: |
@janvorli Yes, that is a dilemma for an atomic context-saver. ARM doc and compilers say you cannot save SP or PC with other registers; but you need to do so if you want to do it atomically, allowing them to be consistent. In general programming, such behaviors should be not allowed, but for "special" libraries such as LIBUNWIND, it appears to be inevitable. Note that the warning is coming from LIBUNWIND code, not CoreCLR code.
|
@myungjoo Thank you for the explanation! I didn't know it switches to the ARM mode. |
The warning is coming from libunwind-arm, not coreclr. Libunwind-arm uses SP/PC registers along with other registers, which clang complains. fix #4259 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
(libunwind, include/libunwind-arm.h, from Line 273)
Anyway, I have updated the pull-request so that it will disable -Winline-asm only for seh.cpp. |
The warning is coming from libunwind-arm, not coreclr. Libunwind-arm uses SP/PC registers along with other registers, which clang complains. fix #4259 Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
If we try to cross build ARM/Linux binaries of CoreCLR, we get the following clang warning, which is set to stop building.
The text was updated successfully, but these errors were encountered: