Knowing if the output is a shared library will be important for TLS optimisations, so I think that part is useful to have in general. The behavioral change to ignore undefined symbols in dependening objects is required regardless? http://llvm-reviews.chandlerc.com/D1582