aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorBrian Ford <ford@gcc.gnu.org>2004-04-30 18:50:28 +0000
committerBrian Ford <ford@gcc.gnu.org>2004-04-30 18:50:28 +0000
commitd38bc601796ae126c74825b6d4d8c5ad729eeaf6 (patch)
tree6ca538f8a2e1a684f946ef569d5dddfd512a77d1 /gcc/config
parent55ce9c52a2a92950c252e8d5a34a3b018448df11 (diff)
downloadgcc-d38bc601796ae126c74825b6d4d8c5ad729eeaf6.zip
gcc-d38bc601796ae126c74825b6d4d8c5ad729eeaf6.tar.gz
gcc-d38bc601796ae126c74825b6d4d8c5ad729eeaf6.tar.bz2
* 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. From-SVN: r81359
Diffstat (limited to 'gcc/config')
-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 8502792..69d7f79 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>