summaryrefslogtreecommitdiff
path: root/gas/config/tc-hppa.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2008-08-21 19:49:22 +0000
committerRichard Henderson <rth@redhat.com>2008-08-21 19:49:22 +0000
commit808d024f4aa46660e80ff8bba0609974d9f27015 (patch)
tree192650d2aa9b4a9b36cecb4ef9c800235a46fadc /gas/config/tc-hppa.h
parent594c588792bc8719fc6cdc9fcfeb1cf3c7772a0e (diff)
downloadbinutils-redhat-808d024f4aa46660e80ff8bba0609974d9f27015.tar.gz
* dw2gencfi.c (DWARF2_FDE_RELOC_SIZE): New.
(output_cie, output_fde): Use it. (DWARF2_EH_FRAME_READ_ONLY): New. (cfi_finish): Use it. * config/tc-hppa.h (DWARF2_FDE_RELOC_SIZE): Set to 8 for 64-bit. (DWARF2_CIE_DATA_ALIGNMENT): Change sign. (DWARF2_EH_FRAME_READ_ONLY): New. * config/tc-hppa.c (tc_gen_reloc): Generate pc-relative relocations from the results of DIFF_EXPR_OK manipulation.
Diffstat (limited to 'gas/config/tc-hppa.h')
-rw-r--r--gas/config/tc-hppa.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/gas/config/tc-hppa.h b/gas/config/tc-hppa.h
index bf5b27f4ea..b53527b0c7 100644
--- a/gas/config/tc-hppa.h
+++ b/gas/config/tc-hppa.h
@@ -186,8 +186,6 @@ int hppa_fix_adjustable (struct fix *);
#define elf_tc_final_processing elf_hppa_final_processing
void elf_hppa_final_processing (void);
-
-#define DWARF2_LINE_MIN_INSN_LENGTH 4
#endif /* OBJ_ELF */
#define md_operand(x)
@@ -213,10 +211,16 @@ extern int hppa_regname_to_dw2regnum (char *regname);
#define DWARF2_LINE_MIN_INSN_LENGTH 4
#define DWARF2_DEFAULT_RETURN_COLUMN 2
#if TARGET_ARCH_SIZE == 64
-#define DWARF2_CIE_DATA_ALIGNMENT (-8)
+#define DWARF2_CIE_DATA_ALIGNMENT 8
+#define DWARF2_FDE_RELOC_SIZE 8
#else
-#define DWARF2_CIE_DATA_ALIGNMENT (-4)
+#define DWARF2_CIE_DATA_ALIGNMENT 4
#endif
+
+/* Due to the way dynamic linking to personality functions is handled,
+ we need to have a read-write .eh_frame section. */
+#define DWARF2_EH_FRAME_READ_ONLY 0
+
#endif
#endif /* _TC_HPPA_H */