diff options
author | ford <ford@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-30 18:50:28 +0000 |
---|---|---|
committer | ford <ford@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-04-30 18:50:28 +0000 |
commit | 1f10d38798986c0c00edb1d9e7e6f459f2682f9f (patch) | |
tree | 6ca538f8a2e1a684f946ef569d5dddfd512a77d1 /gcc/config/i386/cygming.h | |
parent | a3c3aab007ba6dddb680d449a882af4ab0366551 (diff) | |
download | gcc-1f10d38798986c0c00edb1d9e7e6f459f2682f9f.tar.gz |
* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
(DWARF2_DEBUGGING_INFO): Define to enable.
(DBX_REGISTER_NUMBER): Define to use the svr4 register map for
DWARF2.
* configure.ac (Target-specific assembler checks)
<i[34567]86-*-[cygwin*|pe|mingw32*]>: New test for .secrel32
relocs.
* configure: Regenerate.
* config.in: Likewise.
* config/i386/cygming.h [HAVE_GAS_PE_SECREL32_RELOC]
(ASM_OUPUT_DWARF_OFFSET): Define.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81359 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/cygming.h')
-rw-r--r-- | gcc/config/i386/cygming.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index 85027925ec1..69d7f7920ae 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -25,6 +25,27 @@ Boston, MA 02111-1307, USA. */ #undef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG +#ifdef HAVE_GAS_PE_SECREL32_RELOC +#define DWARF2_DEBUGGING_INFO 1 + +#undef DBX_REGISTER_NUMBER +#define DBX_REGISTER_NUMBER(n) (write_symbols == DWARF2_DEBUG \ + ? svr4_dbx_register_map[n] \ + : dbx_register_map[n]) + +/* Use section relative relocations for debugging offsets. Unlike + other targets that fake this by putting the section VMA at 0, PE + won't allow it. */ +#define ASM_OUTPUT_DWARF_OFFSET(FILE, SIZE, LABEL) \ + do { \ + if (SIZE != 4) \ + abort (); \ + \ + fputs ("\t.secrel32\t", FILE); \ + assemble_name (FILE, LABEL); \ + } while (0) +#endif + #define TARGET_EXECUTABLE_SUFFIX ".exe" #include <stdio.h> |