[PATCH] D15600: AArch64: Add option to use shared epilogues in compiler-rt

Kristof Beyls via llvm-commits llvm-commits at lists.llvm.org
Tue Jan 12 00:36:06 PST 2016


kristof.beyls added a comment.

In http://reviews.llvm.org/D15600#323879, @ab wrote:

> In http://reviews.llvm.org/D15600#314648, @kristof.beyls wrote:
>
> > - My gut feel is that if over time we want to modify epilogues; a scheme where the compiler still emits the epilogues is the most flexible. Retaining all versions of epilogues in compiler-rt potentially required by all LLVM revisions ever used may end up being a bookkeeping nightmare.
>
>
> We don't claim to support non-matching compiler-rt versions though, do we? I thought users/distros were supposed to always use the correct version.


I'm thinking of the case where object files compiled with different LLVM versions are linked together. If this isn't supported, it e.g. makes it pretty hard/impossible to distribute a library of binary code that can be linked with code generated by a number of different versions of LLVM. Allowing people that ship binary libraries to not have to ship a separate library for every single revision of clang/llvm seems like a good thing to me. Always requiring linking against the compiler-rt run-time library would probably also make it near-impossible to link together code produced by different compilers, unless these epilogue functions end up being defined in a de facto runtime library ABI?
I'm not sure if there's an official policy on this though.

All in all, it seems simpler to me to not have these epilogue functions in compiler-rt, but rather produce them in every object file that relies on them.


Repository:
  rL LLVM

http://reviews.llvm.org/D15600





More information about the llvm-commits mailing list