This is an archive of the discontinued LLVM Phabricator instance.

Fix crash in invoking microtask on ios arm64
ClosedPublic

Authored by nihui on Apr 10 2017, 8:16 PM.

Details

Summary

invoking microtask cause segment fault on ios platform
So I tried to modify __kmp_invoke_microtask() a little to use AArch64 assembly implementation, and the crash solved

cross-compiling for ios
host: fedora linux, clang 3.9.1

Diff Detail

Repository
rL LLVM

Event Timeline

nihui created this revision.Apr 10 2017, 8:16 PM
nihui added a project: Restricted Project.
nihui added a subscriber: openmp-commits.
AndreyChurbanov requested changes to this revision.Apr 12 2017, 9:21 AM

Couple notes.

  1. Your patch breaks non-Linux ARM implementations I think, like FreeBSD ARM or NetBSD ARM. It would be safer if you changed KMP_OS_LINUX to (KMP_OS_LINUX || KMP_OS_DARWIN) instead of removing KMP_OS_LINUX, so that other platforms were not affected.
  1. Please upload the full diff as opposed to stripped, so that people could see more context around your changes.
This revision now requires changes to proceed.Apr 12 2017, 9:21 AM
nihui updated this revision to Diff 95075.Apr 12 2017, 7:39 PM
nihui edited edge metadata.

change KMP_OS_LINUX to (KMP_OS_LINUX || KMP_OS_DARWIN)
upload full diff

Thanks

This revision is now accepted and ready to land.Apr 13 2017, 3:34 AM
nihui added a comment.Apr 17 2017, 3:50 AM

hello
I do not have commit access
please commit the change for me
thanks a lot ;)

This revision was automatically updated to reflect the committed changes.