mirror of
https://github.com/reactos/reactos.git
synced 2025-07-25 12:04:01 +00:00
[DBGHELP]
* Work around a Clang bug w.r.t. dwarf emission. Brought to you by the mighty Arty. CORE-8516 #comment Now ReactOS can compile a bootcd with Clang, and it boots to shell. Only some PSEH bug(s) remain for it to be fully functional and ready for testman (I'm looking at you, Timo ;) ) svn path=/trunk/; revision=64203
This commit is contained in:
parent
0548cdea30
commit
6fb0f1a0cd
1 changed files with 10 additions and 0 deletions
|
@ -2381,7 +2381,17 @@ static BOOL dwarf2_parse_compilation_unit(const dwarf2_section_t* sections,
|
||||||
}
|
}
|
||||||
if (dwarf2_find_attribute(&ctx, di, DW_AT_stmt_list, &stmt_list))
|
if (dwarf2_find_attribute(&ctx, di, DW_AT_stmt_list, &stmt_list))
|
||||||
{
|
{
|
||||||
|
#ifdef __REACTOS__
|
||||||
|
unsigned long stmt_list_val = stmt_list.u.uvalue;
|
||||||
|
if (stmt_list_val > module->module.BaseOfImage)
|
||||||
|
{
|
||||||
|
/* FIXME: Clang is recording this as an address, not an offset */
|
||||||
|
stmt_list_val -= module->module.BaseOfImage + sections[section_line].rva;
|
||||||
|
}
|
||||||
|
if (dwarf2_parse_line_numbers(sections, &ctx, comp_dir.u.string, stmt_list_val))
|
||||||
|
#else
|
||||||
if (dwarf2_parse_line_numbers(sections, &ctx, comp_dir.u.string, stmt_list.u.uvalue))
|
if (dwarf2_parse_line_numbers(sections, &ctx, comp_dir.u.string, stmt_list.u.uvalue))
|
||||||
|
#endif
|
||||||
module->module.LineNumbers = TRUE;
|
module->module.LineNumbers = TRUE;
|
||||||
}
|
}
|
||||||
ret = TRUE;
|
ret = TRUE;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue