[PATCH] D39534: [libunwind] Add ifdefs around ELF specific parts of UnwindRegisters*.S for ARM

Martin Storsjö via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Nov 2 13:40:54 PDT 2017


mstorsjo added inline comments.


================
Comment at: src/UnwindRegistersRestore.S:396
   .fpu vfpv3-d16
+#endif
 DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9libunwind13Registers_arm19restoreVFPWithFLDMDEPy)
----------------
compnerd wrote:
> This really isn't an ELF vs COFF/Mach-O thing.  Does MASM let you do something similar?  This should at the very least be `!defined(_WIN32)`.  The same throughout.
MASM is only for x86, and MS armasm uses a wholly different syntax (with afaik nothing similar to `.arch` or `.fpu`).

And similarly, if you try assembling a file with this directive, it will fail both for iOS and windows:

```
$ cat test.s
.text
.fpu vfpv3-d16
add r0, r0, r0
$ clang -target armv7-linux-gnueabi test.s -c -o test.o
$ clang -target armv7-apple-darwin test.s -c -o test.o
test.s:2:1: error: unknown directive
.fpu vfpv3-d16
^
$ clang -target thumbv7-win32-gnu test.s -c -o test.o
test.s:2:1: error: unknown directive
.fpu vfpv3-d16
^
```


https://reviews.llvm.org/D39534





More information about the cfe-commits mailing list