clattner at apple.com
Tue Feb 8 12:11:04 PST 2011
I have no idea what this random hunk of gcc code does, but target specific dwarf register numbers are handled by the backend, not the frontend. If you're seeing a specific bug, it is best to file it.
On Feb 8, 2011, at 1:50 PM, Jack Howarth <howarth at bromo.med.uc.edu> wrote:
> I noticed that Geoff Keating's old hack of...
> +#define DBX_REGISTER_NUMBER(n) \
> + (TARGET_64BIT ? dbx64_register_map[n] \
> + : write_symbols == DWARF2_DEBUG ? svr4_dbx_register_map[n] \
> + : dbx_register_map[n])
> +/* Unfortunately, the 32-bit EH information also doesn't use the standard
> + DWARF register numbers. */
> +#define DWARF2_FRAME_REG_OUT(n, for_eh) \
> + (! (for_eh) || write_symbols != DWARF2_DEBUG || TARGET_64BIT ? (n) \
> + : (n) == 5 ? 4 \
> + : (n) == 4 ? 5 \
> + : (n) >= 11 && (n) <= 18 ? (n) + 1 \
> + : (n))
> is still present in config/i386/darwin.h for llvm-gcc42, but I can't find an analogous code in clang.
> Does clang handle this issue differently than llvm-gcc42?
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
More information about the cfe-dev