[llvm-dev] [GSoC 2016] Improving diagnostics for ELF in libObject with upcoming Error (TypedError)

Rafael EspĂ­ndola via llvm-dev llvm-dev at lists.llvm.org
Wed Mar 16 18:35:52 PDT 2016


On 15 March 2016 at 13:03, vivek pandya via llvm-dev
<llvm-dev at lists.llvm.org> wrote:
> Hello Community,
>
> I have been recently talking to Lang hames about OrcJIT and new Error
> Handling mechanism called Error ( a.k.a TypedError ). I hope the patch will
> be in upstream repo by 23 May, 2016. So we have figured out a task for GSoC
> 2016 and we need your suggestion for the same.
>
> The task is to design and implement Error class hierarchy for ELF in
> libObject and thus  avail benefits of TypedError to provide more rich
> diagnostics to the clients. I have read and understand the discussion going
> on RFC for TypedError and there are lots of benefits that helps users of the
> particular library. For example one benefit "Difficult to drop" that makes
> user aware of the error and forces to handle it. Similarly other benefits
> can help to understand the error better.
>
> So there is already a plan for integrating this features for MachO. I would
> like to work on ELF side. Roughly the work will involve identifying
> different class of errors and buid their hierarchy and also how to improve
> the error with supplying information from the context. Then implementing the
> design and replacing old error mechanism. I am still reading more details
> about this. If this work is not sufficient for 3 moths of time than I can
> add implementing diagnostic Errors for OrcJIT API's (as I have been
> experimenting with then currently) the similar work flow would be there. You
> may also suggest additional work on similar path.

It is nice to have someone working on getting checked errors on ELF,
but a request: please don't over engineer the error hierarchy. Broken
object files are incredibly uncommon and I would much prefer simple
code over fancy errors that are never actually seen by users.

Cheers,
Rafael


More information about the llvm-dev mailing list