diff options
author | James Lemke <jwlemke@codesourcery.com> | 2012-08-01 13:46:59 +0000 |
---|---|---|
committer | James Lemke <jwlemke@codesourcery.com> | 2012-08-01 13:46:59 +0000 |
commit | 8fbf7334deccc8a6f3ce9ec01ae801da781c2d82 (patch) | |
tree | e347fb55e56f3812de8798fee9e6a2a5bcefac5a /gas/dwarf2dbg.c | |
parent | 4f6650997aab7ef82b88b1ca29450002473a0ad2 (diff) | |
download | gdb-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.c | 16 |
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. |