diff options
author | Jakub Jelinek <jakub@redhat.com> | 2008-11-28 21:28:28 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2008-11-28 21:28:28 +0000 |
commit | 395e83452153d1926f8231958ae4b421db952532 (patch) | |
tree | e1413c0e52e7a5c320b104608f69b283e6036142 /gas/dw2gencfi.c | |
parent | 3aa3176b2dea5796ab968b289804eced655f07ee (diff) | |
download | gdb-395e83452153d1926f8231958ae4b421db952532.zip gdb-395e83452153d1926f8231958ae4b421db952532.tar.gz gdb-395e83452153d1926f8231958ae4b421db952532.tar.bz2 |
* Makefile.am (ehopt.o): Add struc-symbol.h.
* Makefile.in: Regenerated.
* ehopt.c: Include struc-symbol.h.
(check_eh_frame): For very small O_constant DW_CFA_advance_loc4
create correct DW_CFA_advance_loc. Handle O_subtract only
for code alignment factor 1, otherwise handle O_divide or
O_right_shift of O_subtract and O_constant.
(eh_frame_estimate_size_before_relax): Always divide by ca.
(eh_frame_convert_frag): Likewise.
* dw2gencfi.c (output_cfi_insn): Scale DW_CFA_advance_loc1,
DW_CFA_advance_loc2 and DW_CFA_advance_loc4 outputs.
Diffstat (limited to 'gas/dw2gencfi.c')
-rw-r--r-- | gas/dw2gencfi.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 4adfeab..a9b58d4 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -1,5 +1,5 @@ /* dw2gencfi.c - Support for generating Dwarf2 CFI information. - Copyright 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. + Copyright 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. Contributed by Michal Ludvig <mludvig@suse.cz> This file is part of GAS, the GNU Assembler. @@ -972,20 +972,20 @@ output_cfi_insn (struct cfi_insn_data *insn) if (scaled <= 0x3F) out_one (DW_CFA_advance_loc + scaled); - else if (delta <= 0xFF) + else if (scaled <= 0xFF) { out_one (DW_CFA_advance_loc1); - out_one (delta); + out_one (scaled); } - else if (delta <= 0xFFFF) + else if (scaled <= 0xFFFF) { out_one (DW_CFA_advance_loc2); - out_two (delta); + out_two (scaled); } else { out_one (DW_CFA_advance_loc4); - out_four (delta); + out_four (scaled); } } else |