[libcxx-commits] [PATCH] D77359: [libunwind] add hexagon support

Brian Cain via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Thu Apr 9 07:34:57 PDT 2020


bcain added inline comments.


================
Comment at: libunwind/src/UnwindRegistersRestore.S:853
+  jumpr r31
+.size _ZN9libunwind17Registers_hexagon6jumptoEv, .-_ZN9libunwind17Registers_hexagon6jumptoEv
 #elif defined(__mips__) && defined(_ABIO32) && _MIPS_SIM == _ABIO32
----------------
mstorsjo wrote:
> There's no other `.size` directives used for other ELF platforms as far as I can see, and you aren't adding one in UnwindRegistersSave.S - so this feels a bit inconsistent.
You're right, I don't think it's necessary.  I'll remove it.


================
Comment at: libunwind/src/UnwindRegistersSave.S:1109
   WEAK_ALIAS(__unw_getcontext, unw_getcontext)
+#endif
 
----------------
mstorsjo wrote:
> What's the purpose and need of handling the weak alias differently here? Does the assembler use a different syntax for the weak things there, or do you apply weak to the symbol `__unw_getcontext` as well?
> 
> I think it might be better to move this difference into `assembly.h` to encapsulate the implementation details of how to set up a weak alias there (there's three different cases there already).
> Does the assembler use a different syntax for the weak things there

Yes -- the assembler can't stack the directives with semicolons, AFAICT we need a newline.

I played with definitions of WEAK_ALIAS in `assembly.h` but couldn't get it right.  I gave up too easily, though -- I'll fix it.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D77359/new/

https://reviews.llvm.org/D77359





More information about the libcxx-commits mailing list