vivek pandya via llvm-dev
2016-Mar-15 20:03 UTC
[llvm-dev] [GSoC 2016] Improving diagnostics for ELF in libObject with upcoming Error (TypedError)
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. So I have some questions for this idea: 1) Is this a good idea for a GSoC project ? 2) If any one is available to mentor me for this ? 3) How important this is for LLVM ? and any other suggestions are welcomed. As application period has already begun I need to be little quick but I think I would be able to build a good proposal if provided enough guidance. A special thanks to Lang Hames for suggesting this topic. Sincerely, *Vivek Pandya* -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160316/77ae40d6/attachment.html>
Rafael EspĂndola via llvm-dev
2016-Mar-17 01:35 UTC
[llvm-dev] [GSoC 2016] Improving diagnostics for ELF in libObject with upcoming Error (TypedError)
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