-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Compilation fixes for iOS #10227
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
Compilation fixes for iOS #10227
Conversation
I am not sure about |
I'd just drop the .align conditional then since 2 is the default argument. Also, why not replace with .align 2 in morestack.S too? This way all arm asm files have the fix. |
Regarding morestack.S: i've fixed the files where i encountered an error. |
Would you mind adding some comments in the assembly as to what the align directives are doing? Things like this are always good to have a reason as to why they exist in the first place. Also, I've found that |
I've only tried with XCode 5 (which depends on OS X 10.9) and it's present there: https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcrun.1.html We could try to support older XCode/Mac OS X combinations, but since both are free nowadays i am not sure whether it's worth making things more complicated. What do you think? |
@alexcrichton: Ah, sorry. You meant, you get the errors, even when not compiling for iOS/ARM? Do |
Looks like |
@alexcrichton: Ok, can you confirm that 2>/dev/null hides the error messages for you? |
It does indeed. |
@adridu59: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/Babecdje.html says The original |
My point is that since these docs seem to say that |
I think this PR should go in as is at this point in time:
@alexcrichton: r? |
What a pitty, it needs to be |
Fixed the |
@@ -28,6 +28,13 @@ LIBUV_FLAGS_i386 = -m32 -fPIC -I$(S)src/etc/mingw-fix-include | |||
LIBUV_FLAGS_x86_64 = -m64 -fPIC | |||
ifeq ($(OSTYPE_$(1)), linux-androideabi) | |||
LIBUV_FLAGS_arm = -fPIC -DANDROID -std=gnu99 | |||
else ifeq ($(OSTYPE_$(1)), apple-darwin) | |||
ifeq ($(HOST_$(1)), arm) | |||
IOS_SDK := $(shell xcrun --show-sdk-path -sdk iphoneos) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't this also need 2>/dev/null
?
Hm, the number of commits is growing a bit too much, would you mind rebasing into one commit and adding some more description to the commit comments about what's going on? A commit message of "fix target" isn't really too useful when we're tracing back through the history. |
@kud1ing Historically, the align directive is there because ARM SoCs used to work only on aligned mode. Nowadays they support unaligned code but it's still not something common. |
I think there's still one spot which needs |
- remove /usr/include from the include path since the iOS SDK provides the correct version - `_NSGetEnviron()` is private and not available on iOS - `.align` without an argument is not allowed with the Apple tools. 2^2 should be the default alignment - ignore error messages for XCode < 5 - pass include path to libuv
rebased |
No description provided.