> Well, for a start there's the problem that LLVM itself is architecture-dependent, last I checked.
The idea is not to produce a single cross-platform binary using LLVM - let alone using GCC! - but to produce a set of NaCl binaries for common archs from your portable HLL code using a cross-platform compiler - like LLVM, or GCC - plus PNaCl (or whatever) as the wildcard. Content negotiation is your friend.
> It looks like PNaCl aims to "solve" this problem by using 32-bit-targeted LLVM... including 32-bit pointer alignment. It's not immediately obvious how portable this would be to some hardware,
shrug I haven't heard of any major problems in converting LLVM IR to decently-performing assembler in various archs, so I presume that PNaCl will be able to do okay, especially since the bar is not set very high: consistently world-beating performance is not a necessity in a backstop solution. And if you're on a new or obscure platform (or, er, IE/Windows/x86-64) you're not guaranteed the swiftest Javascript speeds either. The likely worst is that PNaCl will need a redesign: see below.
> and more importantly I'm not aware of any plans to support anything other than x86 and ARM initially (well, and x86-64 using its ability to run 32-bit code as far as I can tell). Am I just missing something on this front?
As I said in my previous post "Obviously the implementation is incomplete and immature, but Mozilla and Opera aren't even pretending that their opposition to NaCl is based on the immaturity of the implementation." Seriously, if the problem with NaCl is that it's not mature and widely ported enough yet, then there's an obvious solution to that.