Richard Pennington
2009-Aug-16 18:46 UTC
[LLVMdev] Debug information and bitcode linking patch
Hi, The enclosed patch preserves debug information about compilation units, functions, and line number information when doing bitcode linking. I'm not easily able to try this for non-bitcode linking. Could someone familiar with debug info take a look and tell me if it appears to be benign? The rational is that formerly the compile units and subprogram definitions were made into a single occurrence after linking, which really messed up the debug info. This patch keeps them separate, as they should be. This is a fix for http://llvm.org/bugs/show_bug.cgi?id=4530 -Rich
Richard Pennington
2009-Aug-16 18:47 UTC
[LLVMdev] Debug information and bitcode linking patch
Richard Pennington wrote:> Hi, > > The enclosed patch preserves debug information about compilation units, > functions, and line number information when doing bitcode linking. I'm > not easily able to try this for non-bitcode linking. Could someone > familiar with debug info take a look and tell me if it appears to be > benign? > > The rational is that formerly the compile units and subprogram > definitions were made into a single occurrence after linking, which > really messed up the debug info. This patch keeps them separate, as they > should be. > > This is a fix for http://llvm.org/bugs/show_bug.cgi?id=4530 > > -Rich >Oops. the patch. -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: bcdebug.patch URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20090816/6356a21e/attachment.ksh>
On Sun, Aug 16, 2009 at 11:47 AM, Richard Pennington<rich at pennware.com> wrote:> Richard Pennington wrote: >> >> Hi, >> >> The enclosed patch preserves debug information about compilation units, >> functions, and line number information when doing bitcode linking. I'm not >> easily able to try this for non-bitcode linking. Could someone familiar with >> debug info take a look and tell me if it appears to be benign? >> >> The rational is that formerly the compile units and subprogram definitions >> were made into a single occurrence after linking, which really messed up the >> debug info. This patch keeps them separate, as they should be. >> >> This is a fix for http://llvm.org/bugs/show_bug.cgi?id=4530 >> >> -Rich >> > > Oops. the patch. >This is not the right approach. This patch allows optimizer to remove debug info for functions that are still present in the module. Plus, very soon (as soon as 2.6 release branch is created) the LLVM IR will stop using GlobalVariables to encode debug info. Stay tuned. - Devang