On Jun 19, 2013, at 8:57 AM, Eric Christopher wrote: > Hi Manman, > > Few issues with this patch: > >> Debug Info: support for gdwarf-2 gdwarf-3 gdwarf-4 >> >> These options will add a module flag with name "Dwarf Version". >> The behavior flag is currently set to Warning, so when two values disagree, >> a warning will be emitted. >> > > I don't think a module flag is the way we want to go about this, I > think it should be an attribute on the compile unit created.
Using module flag is from previous email exchanges where you mentioned "a module level attribute". I may have misinterpreted what you meant. I assume you are now suggesting adding a member in DICompileUnit for Dwarf version. I agree that having a dwarf version on each CU gives us finer control as mentioned in your point b). > > Few constraints there: > > a) this means that we just check the compile unit as we create up the > DIE and we don't have to check the module. > b) at LTO time we can link and generate debug info for modules that > may (due to historic, or otherwise silly reasons) have used two > different values for dwarf level without a warning, > c) at LTO time we'll likely want to constrain to a minimum dwarf > version that contains ref addr so that we can minimize, but this is by > no means required, > d) it matches how linkers actually link debug information > > Also: > >> + else if (Opts.getDebugInfo() != CodeGenOptions::NoDebugInfo) >> + // Default Dwarf version is 3 if we are generating debug information. >> + Opts.DwarfVersion = 3; >> > > We want 4 here I believe, or even a level for "latest" with all of the > bells and whistles. 4 is a likely sufficient start though since we'd > have to define what "all the bells and whistles" means :) Or, as an > alternate question, "why 3?" I remember you tried to bump the version from 2 to 3 before, so I used 3 as a startup. We can definitely bump it further to 4 if 3 is not causing any issue. Thanks, Manman > > Thanks! > > -eric _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
