diff options
Diffstat (limited to 'gcc/config/i386/cygming.h')
-rw-r--r-- | gcc/config/i386/cygming.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/config/i386/cygming.h b/gcc/config/i386/cygming.h index d6c2254b800..60e11b481e9 100644 --- a/gcc/config/i386/cygming.h +++ b/gcc/config/i386/cygming.h @@ -102,13 +102,16 @@ along with GCC; see the file COPYING3. If not see /* 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, SECTION) \ +#define ASM_OUTPUT_DWARF_OFFSET(FILE, SIZE, LABEL, OFFSET, SECTION) \ do { \ switch (SIZE) \ { \ case 4: \ fputs ("\t.secrel32\t", FILE); \ assemble_name (FILE, LABEL); \ + if ((OFFSET) != 0) \ + fprintf (FILE, "+" HOST_WIDE_INT_PRINT_DEC, \ + (HOST_WIDE_INT) (OFFSET)) \ break; \ case 8: \ /* This is a hack. There is no 64-bit section relative \ @@ -118,6 +121,9 @@ along with GCC; see the file COPYING3. If not see Fake the 64-bit offset by zero-extending it. */ \ fputs ("\t.secrel32\t", FILE); \ assemble_name (FILE, LABEL); \ + if ((OFFSET) != 0) \ + fprintf (FILE, "+" HOST_WIDE_INT_PRINT_DEC, \ + (HOST_WIDE_INT) (OFFSET)) \ fputs ("\n\t.long\t0", FILE); \ break; \ default: \ |