summaryrefslogtreecommitdiff
path: root/gcc/config/i386/cygming.h
diff options
context:
space:
mode:
authorford <ford@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-30 18:50:28 +0000
committerford <ford@138bc75d-0d04-0410-961f-82ee72b054a4>2004-04-30 18:50:28 +0000
commit1f10d38798986c0c00edb1d9e7e6f459f2682f9f (patch)
tree6ca538f8a2e1a684f946ef569d5dddfd512a77d1 /gcc/config/i386/cygming.h
parenta3c3aab007ba6dddb680d449a882af4ab0366551 (diff)
downloadgcc-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.h21
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>