diff options
author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2009-11-04 09:51:59 +0000 |
---|---|---|
committer | Maxim Kuvyrkov <maxim@codesourcery.com> | 2009-11-04 09:51:59 +0000 |
commit | 3f9c50cd393ee8c1b6b4b58813c71af1ddade4d8 (patch) | |
tree | e99d9e1698457ec345038c95fdb5f48740be1fa7 /gas/dw2gencfi.c | |
parent | 6d99dafb371984bc173697cb764af30667e071b8 (diff) | |
download | binutils-redhat-3f9c50cd393ee8c1b6b4b58813c71af1ddade4d8.tar.gz |
2009-11-04 Daniel Jacobowitz <dan@codesourcery.com>
Maxim Kuvyrkov <maxim@codesourcery.com>
* config/tc-m68k.h (CF_DIFF_EXPR_OK): Define to 0 for uClinux.
(CFI_DIFF_LSDA_OK): Define.
* config/te-uclinux.h: New file.
* configure.tgt (m68k-uclinux): Define em.
* dw2gencfi.c (CFI_DIFF_LSDA_OK): New macro.
(dot_cfi_lsda, output_fde): Use instead of CFI_DIFF_EXPR_OK.
Diffstat (limited to 'gas/dw2gencfi.c')
-rw-r--r-- | gas/dw2gencfi.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index 5d35712bb6..dfe24af77e 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -36,6 +36,14 @@ # endif #endif +#ifndef CFI_DIFF_LSDA_OK +# define CFI_DIFF_LSDA_OK CFI_DIFF_EXPR_OK +#endif + +#if CFI_DIFF_EXPR_OK == 1 && CFI_DIFF_LSDA_OK == 0 +# error "CFI_DIFF_EXPR_OK should imply CFI_DIFF_LSDA_OK" +#endif + /* We re-use DWARF2_LINE_MIN_INSN_LENGTH for the code alignment field of the CIE. Default to 1 if not otherwise specified. */ #ifndef DWARF2_LINE_MIN_INSN_LENGTH @@ -758,7 +766,7 @@ dot_cfi_lsda (int ignored ATTRIBUTE_UNUSED) if ((encoding & 0xff) != encoding || ((encoding & 0x70) != 0 -#if CFI_DIFF_EXPR_OK || defined tc_cfi_emit_pcrel_expr +#if CFI_DIFF_LSDA_OK || defined tc_cfi_emit_pcrel_expr && (encoding & 0x70) != DW_EH_PE_pcrel #endif ) @@ -1445,7 +1453,7 @@ output_fde (struct fde_entry *fde, struct cie_entry *cie, exp = fde->lsda; if ((fde->lsda_encoding & 0x70) == DW_EH_PE_pcrel) { -#if CFI_DIFF_EXPR_OK +#if CFI_DIFF_LSDA_OK exp.X_op = O_subtract; exp.X_op_symbol = symbol_temp_new_now (); emit_expr (&exp, augmentation_size); |