From ed7d5d1a43104f2ed6e83c99fe9858fe335cf186 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 2 Jun 2003 22:48:59 +0000 Subject: [PATCH] * read.c (emit_expr): Set dot_value. * dw2gencfi.c (output_fde): Remove pcrel reloc hack. --- gas/ChangeLog | 75 ++++++++++++++++++++++++++----------------------- gas/dw2gencfi.c | 10 +------ gas/read.c | 2 ++ 3 files changed, 43 insertions(+), 44 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index e5ac47426f..0e02becc5e 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-06-02 Alan Modra + + * read.c (emit_expr): Set dot_value. + * dw2gencfi.c (output_fde): Remove pcrel reloc hack. + 2003-06-02 Alan Modra * macro.c (sub_actual): Don't lose string if it turns out that @@ -24,8 +29,8 @@ * configure: Regenerate. 2003-05-29 Kazuhiro Inaoka - - * config/tc-m32r.c: Amend comment to refer to Renesas + + * config/tc-m32r.c: Amend comment to refer to Renesas 2003-05-27 Richard Henderson @@ -99,12 +104,12 @@ 2003-05-07 Eric Christopher - * config/tc-mips.c (mips_abicalls): New variable. - (md_parse_option): Use. - (s_option): Ditto. - (s_abicalls): Ditto. - (mips_elf_final_processing): Set EF_MIPS_PIC and - EF_MIPS_CPIC dependent on above. + * config/tc-mips.c (mips_abicalls): New variable. + (md_parse_option): Use. + (s_option): Ditto. + (s_abicalls): Ditto. + (mips_elf_final_processing): Set EF_MIPS_PIC and + EF_MIPS_CPIC dependent on above. 2003-05-21 John David Anglin @@ -112,34 +117,34 @@ 2003-05-21 Nick Clifton - * config/obj-elf.c: Include dwarf2dbg.h. - (elf_pseudo_tab): Add .file and .loc. - * config/tc-arc.c (md_pseudo_table): Remove .file and .loc. - * config/tc-arm.c: Likewise. - * config/tc-h8300.c: Likewise. - * config/tc-hppa.c: Likewise. - * config/tc-ia64.c: Likewise. - * config/tc-m68hc11.c: Likewise. - * config/tc-m68k.c: Likewise. - * config/tc-mmix.c: Likewise. - * config/tc-mn10300.c: Likewise. - * config/tc-ppc.c: Likewise. - * config/tc-sh.c: Likewise. - * config/tc-sparc.c: Likewise. - * config/tc-v850.c: Likewise. - * config/tc-frv.c: Likewise, and remove redundant inclusion of - dwarf2dbg.h. - * config/tc-ip2k.c: Likewise. - * config/tc-iq2000.c: Likewise. - * config/tc-xstormy16.c: Likewise. - * config/tc-xtensa.c: Likewise. + * config/obj-elf.c: Include dwarf2dbg.h. + (elf_pseudo_tab): Add .file and .loc. + * config/tc-arc.c (md_pseudo_table): Remove .file and .loc. + * config/tc-arm.c: Likewise. + * config/tc-h8300.c: Likewise. + * config/tc-hppa.c: Likewise. + * config/tc-ia64.c: Likewise. + * config/tc-m68hc11.c: Likewise. + * config/tc-m68k.c: Likewise. + * config/tc-mmix.c: Likewise. + * config/tc-mn10300.c: Likewise. + * config/tc-ppc.c: Likewise. + * config/tc-sh.c: Likewise. + * config/tc-sparc.c: Likewise. + * config/tc-v850.c: Likewise. + * config/tc-frv.c: Likewise, and remove redundant inclusion of + dwarf2dbg.h. + * config/tc-ip2k.c: Likewise. + * config/tc-iq2000.c: Likewise. + * config/tc-xstormy16.c: Likewise. + * config/tc-xtensa.c: Likewise. * Makefile.am: Regenerate dependencies. - * Makefile.in: Regenerate. - * aclocal.m4: Regenerate. - * config.in: Regenerate. - * configure: Regenerate. - * po/POTFILES.in: Regenerate. - * po/gas.pot: Regenerate. + * Makefile.in: Regenerate. + * aclocal.m4: Regenerate. + * config.in: Regenerate. + * configure: Regenerate. + * po/POTFILES.in: Regenerate. + * po/gas.pot: Regenerate. 2003-05-21 Nick Clifton diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c index ee67027ec5..a632cd1acc 100644 --- a/gas/dw2gencfi.c +++ b/gas/dw2gencfi.c @@ -666,17 +666,9 @@ output_fde (struct fde_entry *fde, struct cie_entry *cie, exp.X_op_symbol = cie->start_address; emit_expr (&exp, 4); /* CIE offset */ - /* ??? Unsure why this works and the following doesn't. - Symptom was incorrect addends to the relocation. */ -#if 1 - memset (frag_more (4), 0, 4); /* Code offset */ - fix_new (frag_now, frag_now_fix () - 4, 4, - fde->start_address, 0, 1, BFD_RELOC_32); -#else exp.X_add_symbol = fde->start_address; exp.X_op_symbol = symbol_temp_new_now (); - emit_expr (&exp, 4); -#endif + emit_expr (&exp, 4); /* Code offset */ exp.X_add_symbol = fde->end_address; exp.X_op_symbol = fde->start_address; /* Code length */ diff --git a/gas/read.c b/gas/read.c index d75083e546..b7d9190a5b 100644 --- a/gas/read.c +++ b/gas/read.c @@ -3444,6 +3444,8 @@ emit_expr (exp, nbytes) if (need_pass_2) return; + dot_value = frag_now_fix (); + #ifndef NO_LISTING #ifdef OBJ_ELF /* When gcc emits DWARF 1 debugging pseudo-ops, a line number will