[cfe-dev] DWARF2_FRAME_REG_OUT

Chris Lattner clattner at apple.com
Tue Feb 8 12:11:04 PST 2011


Hi Jack.

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.

-Chris

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?
>                  Jack
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev



More information about the cfe-dev mailing list