[llvm-dev] LTO prevention help (original) (raw)

Jon Slenk via llvm-dev llvm-dev at lists.llvm.org
Wed Oct 12 17:48:29 PDT 2016


I'm trying to learn about LTO. I have a static variable that I try to give a non-compile-time-constant value to. With LTO turned off, the sprintf happens i.e. a breakpoint set on that line does get triggered. With LTO turned on (either Monolithic or Incremental), the code appears to be removed/elided/deleted/forgotten/dropped/lost/ignored and the breakpoint is never tripped.

What can I do to make my code survive through LTO? The variable makes it through but the sprinf() line doesn't. Can I somehow tell LTO to not apply to this function or line of code or file of code? (In reality this is something I am trying to do via Xcode for iOS targets.)

thank you.

  1. static void attribute((constructor))_initv1 () {
  2. static char default_[] =

"0000000000000000000000000000000000000000000000000000000000000000"; 3. sprintf( default_, "%lu", (unsigned long)5 ); 4. } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20161012/2aad0472/attachment.html>



More information about the llvm-dev mailing list