From fcdc20a4d36ad5f493f38a2ed089516c19709a36 Mon Sep 17 00:00:00 2001 From: Hans-Peter Nilsson Date: Tue, 28 Nov 2000 15:39:15 +0000 Subject: [PATCH] * config/tc-cris.c: Include dwarf2dbg.h. (md_pseudo_table): Add .file and .loc. (md_assemble): Call dwarf2_emit_insn if generating ELF. (s_cris_file, s_cris_loc): New. * config/tc-cris.h (DWARF2_LINE_MIN_INSN_LENGTH): Define. * Makefile.am: Regenerate dependencies. * Makefile.in: Regenerate. --- gas/ChangeLog | 10 ++++++++ gas/Makefile.am | 49 ++++++++++++++++--------------------- gas/Makefile.in | 57 ++++++++++++++++---------------------------- gas/config/tc-cris.c | 41 +++++++++++++++++++++++++++++++ gas/config/tc-cris.h | 4 ++++ 5 files changed, 96 insertions(+), 65 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 1dbdeeb68b2..47248deed76 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,13 @@ +2000-11-28 Hans-Peter Nilsson + + * config/tc-cris.c: Include dwarf2dbg.h. + (md_pseudo_table): Add .file and .loc. + (md_assemble): Call dwarf2_emit_insn if generating ELF. + (s_cris_file, s_cris_loc): New. + * config/tc-cris.h (DWARF2_LINE_MIN_INSN_LENGTH): Define. + * Makefile.am: Regenerate dependencies. + * Makefile.in: Regenerate. + 2000-11-28 Alan Modra * expr.c (STANDARD_MUL_PRECEDENCE): Correct value. diff --git a/gas/Makefile.am b/gas/Makefile.am index 45675ed6b07..68f791dda42 100644 --- a/gas/Makefile.am +++ b/gas/Makefile.am @@ -935,7 +935,7 @@ DEPTC_alpha_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-alpha.h subsegs.h \ $(INCDIR)/obstack.h struc-symbol.h ecoff.h $(INCDIR)/coff/sym.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/opcode/alpha.h $(INCDIR)/elf/alpha.h \ - $(INCDIR)/elf/reloc-macros.h $(srcdir)/config/atof-vax.c + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h $(srcdir)/config/atof-vax.c DEPTC_alpha_evax = $(srcdir)/config/obj-evax.h $(srcdir)/config/tc-alpha.h \ subsegs.h $(INCDIR)/obstack.h struc-symbol.h ecoff.h \ $(INCDIR)/opcode/alpha.h $(srcdir)/config/atof-vax.c @@ -956,7 +956,8 @@ DEPTC_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ DEPTC_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/obstack.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_avr_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-avr.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/avr.h @@ -966,14 +967,15 @@ DEPTC_avr_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/avr.h DEPTC_cris_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-cris.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/cris.h + $(INCDIR)/opcode/cris.h dwarf2dbg.h DEPTC_cris_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-cris.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h \ + dwarf2dbg.h DEPTC_cris_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h + $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h dwarf2dbg.h DEPTC_d10v_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-d10v.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/d10v.h \ @@ -1041,22 +1043,20 @@ DEPTC_i370_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/i370.h DEPTC_i386_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i386.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/i386.h + dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/i386.h + $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h dwarf2dbg.h \ + $(INCDIR)/opcode/i386.h DEPTC_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/i386.h -DEPTC_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/i860.h -DEPTC_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/opcode/i860.h + $(INCDIR)/obstack.h dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h $(INCDIR)/opcode/i860.h + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h subsegs.h \ + $(INCDIR)/obstack.h $(INCDIR)/opcode/i860.h $(INCDIR)/elf/i860.h \ + $(INCDIR)/elf/reloc-macros.h DEPTC_i960_bout = $(srcdir)/config/obj-bout.h $(srcdir)/config/tc-i960.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/i960.h DEPTC_i960_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i960.h \ @@ -1183,12 +1183,12 @@ DEPTC_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ DEPTC_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - struc-symbol.h + struc-symbol.h dwarf2dbg.h DEPTC_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h subsegs.h \ $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h struc-symbol.h \ - $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h DEPTC_sparc_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-sparc.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ $(INCDIR)/opcode/sparc.h @@ -1199,7 +1199,7 @@ DEPTC_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sparc.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/sparc.h $(INCDIR)/elf/sparc.h \ - $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h DEPTC_tahoe_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-tahoe.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ $(INCDIR)/opcode/tahoe.h @@ -1257,11 +1257,12 @@ DEPTC_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/obstack.h $(srcdir)/../opcodes/w65-opc.h DEPTC_v850_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-v850.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \ + dwarf2dbg.h DEPTC_v850_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h + $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h dwarf2dbg.h DEPTC_z8k_coff = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-z8k.h $(INCDIR)/coff/internal.h \ $(INCDIR)/coff/z8k.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h @@ -1401,12 +1402,6 @@ DEPOBJ_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h -DEPOBJ_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ - $(INCDIR)/obstack.h -DEPOBJ_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/obstack.h subsegs.h DEPOBJ_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h subsegs.h \ @@ -1701,10 +1696,6 @@ DEP_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ DEP_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h -DEP_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h -DEP_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h DEP_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h diff --git a/gas/Makefile.in b/gas/Makefile.in index b2e3e195a0c..7ac18f2385d 100644 --- a/gas/Makefile.in +++ b/gas/Makefile.in @@ -647,7 +647,7 @@ DEPTC_alpha_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-alpha.h subsegs.h \ $(INCDIR)/obstack.h struc-symbol.h ecoff.h $(INCDIR)/coff/sym.h \ $(INCDIR)/coff/ecoff.h $(INCDIR)/opcode/alpha.h $(INCDIR)/elf/alpha.h \ - $(INCDIR)/elf/reloc-macros.h $(srcdir)/config/atof-vax.c + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h $(srcdir)/config/atof-vax.c DEPTC_alpha_evax = $(srcdir)/config/obj-evax.h $(srcdir)/config/tc-alpha.h \ subsegs.h $(INCDIR)/obstack.h struc-symbol.h ecoff.h \ @@ -674,7 +674,8 @@ DEPTC_arm_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-arm.h \ DEPTC_arm_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-arm.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/obstack.h $(INCDIR)/elf/arm.h $(INCDIR)/elf/reloc-macros.h \ + dwarf2dbg.h DEPTC_avr_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-avr.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ @@ -687,16 +688,17 @@ DEPTC_avr_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ DEPTC_cris_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-cris.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/cris.h + $(INCDIR)/opcode/cris.h dwarf2dbg.h DEPTC_cris_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-cris.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h \ + dwarf2dbg.h DEPTC_cris_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-cris.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h + $(INCDIR)/obstack.h $(INCDIR)/opcode/cris.h dwarf2dbg.h DEPTC_d10v_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-d10v.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ @@ -781,27 +783,23 @@ DEPTC_i370_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ DEPTC_i386_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i386.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ - $(INCDIR)/opcode/i386.h + dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i386_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i386.h \ $(INCDIR)/coff/internal.h $(INCDIR)/coff/i386.h $(BFDDIR)/libcoff.h \ - $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/i386.h + $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h dwarf2dbg.h \ + $(INCDIR)/opcode/i386.h DEPTC_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/i386.h - -DEPTC_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/opcode/i860.h - -DEPTC_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/opcode/i860.h + $(INCDIR)/obstack.h dwarf2dbg.h $(INCDIR)/opcode/i386.h DEPTC_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ - $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h $(INCDIR)/opcode/i860.h + $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h subsegs.h \ + $(INCDIR)/obstack.h $(INCDIR)/opcode/i860.h $(INCDIR)/elf/i860.h \ + $(INCDIR)/elf/reloc-macros.h DEPTC_i960_bout = $(srcdir)/config/obj-bout.h $(srcdir)/config/tc-i960.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/i960.h @@ -959,13 +957,13 @@ DEPTC_ppc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ DEPTC_sh_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-sh.h \ $(INCDIR)/coff/internal.h $(INCDIR)/coff/sh.h $(BFDDIR)/libcoff.h \ $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h \ - struc-symbol.h + struc-symbol.h dwarf2dbg.h DEPTC_sh_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sh.h subsegs.h \ $(INCDIR)/obstack.h $(srcdir)/../opcodes/sh-opc.h struc-symbol.h \ - $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/elf/sh.h $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h DEPTC_sparc_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-sparc.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h subsegs.h $(INCDIR)/obstack.h \ @@ -979,7 +977,7 @@ DEPTC_sparc_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-sparc.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/opcode/sparc.h $(INCDIR)/elf/sparc.h \ - $(INCDIR)/elf/reloc-macros.h + $(INCDIR)/elf/reloc-macros.h dwarf2dbg.h DEPTC_tahoe_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-tahoe.h \ $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/obstack.h \ @@ -1054,12 +1052,13 @@ DEPTC_w65_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ DEPTC_v850_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-v850.h \ $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h + subsegs.h $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h \ + dwarf2dbg.h DEPTC_v850_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-v850.h subsegs.h \ - $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h + $(INCDIR)/obstack.h $(INCDIR)/opcode/v850.h dwarf2dbg.h DEPTC_z8k_coff = $(srcdir)/../opcodes/z8k-opc.h $(srcdir)/config/obj-coff.h \ $(srcdir)/config/tc-z8k.h $(INCDIR)/coff/internal.h \ @@ -1240,14 +1239,6 @@ DEPOBJ_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h subsegs.h \ $(INCDIR)/obstack.h $(INCDIR)/aout/aout64.h -DEPOBJ_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h $(INCDIR)/aout/aout64.h \ - $(INCDIR)/obstack.h - -DEPOBJ_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h \ - $(INCDIR)/obstack.h subsegs.h - DEPOBJ_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h subsegs.h \ @@ -1636,12 +1627,6 @@ DEP_i386_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i386.h -DEP_i860_aout = $(srcdir)/config/obj-aout.h $(srcdir)/config/tc-i860.h \ - $(BFDDIR)/libaout.h $(INCDIR)/bfdlink.h - -DEP_i860_coff = $(srcdir)/config/obj-coff.h $(srcdir)/config/tc-i860.h \ - $(INCDIR)/coff/internal.h $(BFDDIR)/libcoff.h $(INCDIR)/bfdlink.h - DEP_i860_elf = $(srcdir)/config/obj-elf.h $(BFDDIR)/elf-bfd.h \ $(INCDIR)/elf/common.h $(INCDIR)/elf/internal.h $(INCDIR)/elf/external.h \ $(INCDIR)/bfdlink.h $(srcdir)/config/tc-i860.h @@ -1900,7 +1885,7 @@ configure configure.in gdbinit.in itbl-lex.c itbl-parse.c DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) -TAR = gtar +TAR = tar GZIP_ENV = --best SOURCES = $(itbl_test_SOURCES) $(as_new_SOURCES) $(EXTRA_as_new_SOURCES) $(gasp_new_SOURCES) OBJECTS = $(itbl_test_OBJECTS) $(as_new_OBJECTS) $(gasp_new_OBJECTS) diff --git a/gas/config/tc-cris.c b/gas/config/tc-cris.c index a21fa601e93..b1d75aa2c50 100644 --- a/gas/config/tc-cris.c +++ b/gas/config/tc-cris.c @@ -27,6 +27,7 @@ #include "as.h" #include "subsegs.h" #include "opcode/cris.h" +#include "dwarf2dbg.h" /* Conventions used here: Generally speaking, pointers to binutils types such as "fragS" and @@ -125,6 +126,8 @@ static void cris_number_to_imm PARAMS ((char *, long, int, fixS *)); static void cris_create_short_jump PARAMS ((char *, addressT, addressT, fragS *, symbolS *)); static void s_syntax PARAMS ((int)); +static void s_cris_file PARAMS ((int)); +static void s_cris_loc PARAMS ((int)); /* All the .syntax functions. */ static void cris_force_reg_prefix PARAMS ((void)); @@ -145,6 +148,8 @@ const pseudo_typeS md_pseudo_table[] = { {"dword", cons, 4}, {"syntax", s_syntax, 0}, + {"file", s_cris_file, 0}, + {"loc", s_cris_loc, 0}, {NULL, 0, 0} }; @@ -689,6 +694,7 @@ md_assemble (str) struct cris_prefix prefix; char *opcodep; char *p; + int insn_size = 0; know (str); @@ -711,6 +717,7 @@ md_assemble (str) case PREFIX_BDAP: case PREFIX_BIAP: case PREFIX_DIP: + insn_size += 2; opcodep = frag_more (2); /* Output the prefix opcode. */ @@ -721,6 +728,7 @@ md_assemble (str) if (prefix.reloc != BFD_RELOC_NONE) { /* Output an absolute mode address. */ + insn_size += 4; p = frag_more (4); fix_new_exp (frag_now, (p - frag_now->fr_literal), 4, &prefix.expr, 0, prefix.reloc); @@ -728,6 +736,7 @@ md_assemble (str) break; case PREFIX_PUSH: + insn_size += 2; opcodep = frag_more (2); /* Output the prefix opcode. Being a "push", we add the negative @@ -754,6 +763,7 @@ md_assemble (str) return; /* Done with the prefix. Continue with the main instruction. */ + insn_size += 2; opcodep = frag_more (2); /* Output the instruction opcode. */ @@ -793,6 +803,7 @@ md_assemble (str) This means it is a branch to a known symbol in another section. Code in data? Weird but valid. Emit a 32-bit branch. */ + insn_size += 10; gen_cond_branch_32 (opcodep, frag_more (10), frag_now, output_instruction.expr.X_add_symbol, (symbolS *) NULL, @@ -824,6 +835,7 @@ md_assemble (str) BAD_CASE (output_instruction.imm_oprnd_size); } + insn_size += output_instruction.imm_oprnd_size; p = frag_more (output_instruction.imm_oprnd_size); fix_new_exp (frag_now, (p - frag_now->fr_literal), output_instruction.imm_oprnd_size, @@ -843,6 +855,9 @@ md_assemble (str) output_instruction.reloc); } } + + if (OUTPUT_FLAVOR == bfd_target_elf_flavour) + dwarf2_emit_insn (insn_size); } /* Low level text-to-bits assembly. */ @@ -2855,6 +2870,32 @@ s_syntax (ignore) as_bad (_("Unknown .syntax operand")); } +/* Wrapper for dwarf2_directive_file to emit error if this is seen when + not emitting ELF. */ + +static void +s_cris_file (dummy) + int dummy; +{ + if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + as_bad ("Pseudodirective .file is only valid when generating ELF"); + else + dwarf2_directive_file (dummy); +} + +/* Wrapper for dwarf2_directive_loc to emit error if this is seen when not + emitting ELF. */ + +static void +s_cris_loc (dummy) + int dummy; +{ + if (OUTPUT_FLAVOR != bfd_target_elf_flavour) + as_bad ("Pseudodirective .loc is only valid when generating ELF"); + else + dwarf2_directive_loc (dummy); +} + /* * Local variables: * eval: (c-set-style "gnu") diff --git a/gas/config/tc-cris.h b/gas/config/tc-cris.h index 85be2422372..4fdf309be40 100644 --- a/gas/config/tc-cris.h +++ b/gas/config/tc-cris.h @@ -126,6 +126,10 @@ extern void tc_cris_check_adjusted_broken_word PARAMS ((offsetT, /* We don't want any implicit alignment, so we do nothing. */ #define TC_IMPLICIT_LCOMM_ALIGNMENT(SIZE, P2VAR) +/* CRIS instructions, with operands and prefixes included, are a multiple + of two bytes long. */ +#define DWARF2_LINE_MIN_INSN_LENGTH 2 + #endif /* TC_CRIS */ /* * Local variables: -- 2.30.2