News for hackers. Stuff that matters.
Re:Bitcode (iOS, watchOS) by ubercow on Tuesday June 09, 2015 @02:17AM (#9684328)
So is this just LLVM IR?
Re:Bitcode (iOS, watchOS) by johntb86 on Tuesday June 09, 2015 @03:35AM (#9684493)
I'm curious how that works. LLVM bitcode backwards/forwards compatibility is quite poor, from what I've heard. Will they fix some bitcode version to transmit, and have translators on the client/server sides? Have a bunch of different toolchain versions on the server side? Force everyone to resubmit with a newer version if they want to do any changes on the server side?
Re:Bitcode (iOS, watchOS) by joosters on Tuesday June 09, 2015 @05:36AM (#9684827)
Presumably the backwards/forwards compatibility is poor simply because people don't tend to have these files sitting around, they mostly exist (at the moment) as part of a compilation framework and are tempfiles.

If needed, it wouldn't be too for someone with a few programmers (Apple could spare a few!) to write the proper versioning to upgrade/downgrade the file format as LLVM changes?

Re:Bitcode (iOS, watchOS) by nekitamo on Tuesday June 09, 2015 @02:25AM (#9684350)
Yep. I hope they leave this optional for iOS, as we use some proprietary libraries which we don't think the vendor will ship a new version of :(
Re:Bitcode (iOS, watchOS) by pgeorgi on Tuesday June 09, 2015 @02:36AM (#9684373)
You may get by with a decompiler as laid out in http://llvm.org/devmtg/2013-04/bougacha-slides.pdf

And since you'll certainly not be the only one with that problem, Apple making it mandatory for iOS would probably spur development in that area.

Re:Bitcode (iOS, watchOS) by ponytech on Tuesday June 09, 2015 @02:40AM (#9684381)
I am not so confident : they now require that you ship a 64 bits version of your apps, which can be also be a problem if you use 32 bits only proprietary libraries.
Re:Bitcode (iOS, watchOS) by coob on Tuesday June 09, 2015 @03:21AM (#9684456)
There's a good reason for that requirement. Loading 32bit apps on a 64but device requires loading all the 32bit version of shared libs, massively increasing the memory footprint.