This is an archive of the discontinued LLVM Phabricator instance.

[builtins] ARM: Reland fix for assembling builtins in thumb state.
ClosedPublic

Authored by manojgupta on Sep 28 2017, 9:06 PM.

Details

Summary

clang does not assemble files in thumb mode unless .thumb declaration
is present. Add .thumb/.arm decl to _FUNCTION macros to ensure that
files are assembled correctly.

Also add a fix to ensure that armv7k-watchos can assemble the
aeabi_c{f|d}cmp.S files.

Fixes PR 34715.

Event Timeline

manojgupta created this revision.Sep 28 2017, 9:06 PM
peter.smith edited edge metadata.Sep 29 2017, 10:27 AM

I've made one suggestion for the comment, but otherwise looks ok to me.

lib/builtins/arm/aeabi_cdcmp.S
49

I think that the comment could be a bit more specific to the issue without needing to link to the pr.

For example "On some builds __aeabi_cdcmple may be in a different section so we use an IT followed by an unconditional branch to guarantee that we have a supported relocation on all platforms."

Thanks Peter, I Updated the comment.

Ping! Is it ok to land this?

compnerd accepted this revision.Oct 2 2017, 1:51 PM

Please make sure that you do a build for watchOS before committing this, but this looks like it should accommodate that too.

This revision is now accepted and ready to land.Oct 2 2017, 1:51 PM
manojgupta closed this revision.Oct 2 2017, 1:58 PM