aboutsummaryrefslogtreecommitdiff
path: root/gas/dwarf2dbg.c
diff options
context:
space:
mode:
authorJames Lemke <jwlemke@codesourcery.com>2012-08-01 13:46:59 +0000
committerJames Lemke <jwlemke@codesourcery.com>2012-08-01 13:46:59 +0000
commit8fbf7334deccc8a6f3ce9ec01ae801da781c2d82 (patch)
treee347fb55e56f3812de8798fee9e6a2a5bcefac5a /gas/dwarf2dbg.c
parent4f6650997aab7ef82b88b1ca29450002473a0ad2 (diff)
downloadgdb-8fbf7334deccc8a6f3ce9ec01ae801da781c2d82.zip
gdb-8fbf7334deccc8a6f3ce9ec01ae801da781c2d82.tar.gz
gdb-8fbf7334deccc8a6f3ce9ec01ae801da781c2d82.tar.bz2
gas/ChangeLog:
2012-08-01 James Lemke <jwlemke@codesourcery.com> * gas/dwarf2dbg.c (out_set_addr): Allow for non-constant value of DWARF2_LINE_MIN_INSN_LENGTH * gas/config/tc-ppc.c (ppc_dwarf2_line_min_insn_length): Declare and initialize. (md_apply_fix): Branch addr can be a multiple of 2 or 4. * gas/config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): Now a variable reference. gas/testsuite/ChangeLog: 2012-08-01 James Lemke <jwlemke@codesourcery.com> * gas/cfi/cfi-ppc-1.d: Allow for code alignment of 2 or 4. ld/ChangeLog: 2012-08-01 James Lemke <jwlemke@codesourcery.com> * ld/testsuite/ld-gc/pr13683.d: XFAIL for powerpc*-*-eabivle.
Diffstat (limited to 'gas/dwarf2dbg.c')
-rw-r--r--gas/dwarf2dbg.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index 2ec329a..2fa6d51 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -882,24 +882,22 @@ out_set_addr (symbolS *sym)
emit_expr (&exp, sizeof_address);
}
-#if DWARF2_LINE_MIN_INSN_LENGTH > 1
static void scale_addr_delta (addressT *);
static void
scale_addr_delta (addressT *addr_delta)
{
static int printed_this = 0;
- if (*addr_delta % DWARF2_LINE_MIN_INSN_LENGTH != 0)
+ if (DWARF2_LINE_MIN_INSN_LENGTH > 1)
{
- if (!printed_this)
- as_bad("unaligned opcodes detected in executable segment");
- printed_this = 1;
+ if (*addr_delta % DWARF2_LINE_MIN_INSN_LENGTH != 0 && !printed_this)
+ {
+ as_bad("unaligned opcodes detected in executable segment");
+ printed_this = 1;
+ }
+ *addr_delta /= DWARF2_LINE_MIN_INSN_LENGTH;
}
- *addr_delta /= DWARF2_LINE_MIN_INSN_LENGTH;
}
-#else
-#define scale_addr_delta(A)
-#endif
/* Encode a pair of line and address skips as efficiently as possible.
Note that the line skip is signed, whereas the address skip is unsigned.