Browse Source

* dw2gencfi.c (all_fde_data): Export.

* dw2gencfi.h (all_fde_data): Declare.
        * config/tc-alpha.c (alpha_elf_md_end): Don't convert legacy unwind
        info to cfi unwind info if the user already has supplied some.
binutils-2_22-branch
Richard Henderson 15 years ago
parent
commit
af385746fb
  1. 7
      gas/ChangeLog
  2. 8
      gas/config/tc-alpha.c
  3. 2
      gas/dw2gencfi.c
  4. 3
      gas/dw2gencfi.h

7
gas/ChangeLog

@ -1,3 +1,10 @@
2011-08-06 Richard Henderson <rth@redhat.com>
* dw2gencfi.c (all_fde_data): Export.
* dw2gencfi.h (all_fde_data): Declare.
* config/tc-alpha.c (alpha_elf_md_end): Don't convert legacy unwind
info to cfi unwind info if the user already has supplied some.
2011-08-06 Richard Sandiford <rdsandiford@googlemail.com>
* config/tc-mips.c (emit_nop): Delete.

8
gas/config/tc-alpha.c

@ -4042,6 +4042,14 @@ alpha_elf_md_end (void)
if (bfd_get_section_by_name (stdoutput, ".eh_frame") != NULL)
return;
/* ??? In theory we could look for functions for which we have
generated unwind info via CFI directives, and those we have not.
Those we have not could still get their unwind info from here.
For now, do nothing if we've seen any CFI directives. Note that
the above test will not trigger, as we've not emitted data yet. */
if (all_fde_data != NULL)
return;
/* Generate .eh_frame data for the unwind directives specified. */
for (p = all_frame_data; p ; p = p->next)
if (p->prologue_sym)

2
gas/dw2gencfi.c

@ -287,7 +287,7 @@ struct cie_entry
/* List of FDE entries. */
static struct fde_entry *all_fde_data;
struct fde_entry *all_fde_data;
static struct fde_entry **last_fde_data = &all_fde_data;
/* List of CIEs so that they could be reused. */

3
gas/dw2gencfi.h

@ -118,6 +118,9 @@ struct fde_entry
#endif
};
/* The list of all FDEs that have been collected. */
extern struct fde_entry *all_fde_data;
/* Fake CFI type; outside the byte range of any real CFI insn. */
#define CFI_adjust_cfa_offset 0x100
#define CFI_return_column 0x101

Loading…
Cancel
Save