From f64233022351b49e93c14a66db526bcb3ca0482b Mon Sep 17 00:00:00 2001 From: Stephane Carrez Date: Tue, 8 Jul 2003 23:05:39 +0200 Subject: [PATCH] m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define as .file/.loc directives are incompatible with linker relaxation. * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define as .file/.loc directives are incompatible with linker relaxation. From-SVN: r69101 --- gcc/ChangeLog | 7 ++++++- gcc/config/m68hc11/m68hc11.h | 8 ++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c679d137b489..8135d85e73e6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2003-07-08 Stephane Carrez + + * config/m68hc11/m68hc11.h (HAVE_AS_DWARF2_DEBUG_LINE): Don't define + as .file/.loc directives are incompatible with linker relaxation. + 2003-07-08 Zack Weinberg * Makefile.in (fixinc.sh): Remove gnu-regex.[ch] from dependencies. @@ -8888,7 +8893,7 @@ Mon May 12 11:32:53 CEST 2003 Jan Hubicka (mips_delegitimize_address): Declare. * config/mips/mips.h (ASM_SIMPLIFY_DWARF_ADDR): Undefine. (FIND_BASE_TERM): Define. - * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Define. + * config/mips/mips.c (TARGET_DELEGITIMIZE_ADDRESS): Defi~e. (mips_delegitimize_address): Renamed from mips_simplify_dwarf_addr. Handle small-data addresses. diff --git a/gcc/config/m68hc11/m68hc11.h b/gcc/config/m68hc11/m68hc11.h index 476c0d0f2c38..ea48d4d4b7f9 100644 --- a/gcc/config/m68hc11/m68hc11.h +++ b/gcc/config/m68hc11/m68hc11.h @@ -1627,6 +1627,14 @@ do { \ the page number. */ #define DWARF2_ADDR_SIZE 4 +/* SCz 2003-07-08: Don't use as dwarf2 .file/.loc directives because + the linker is doing relaxation and it does not adjust the debug_line + sections when it shrinks the code. This results in invalid addresses + when debugging. This does not bless too much the HC11/HC12 as most + applications are embedded and small, hence a reasonable debug info. + This problem is known for binutils 2.13, 2.14 and mainline. */ +#undef HAVE_AS_DWARF2_DEBUG_LINE + /* The prefix for local labels. You should be able to define this as an empty string, or any arbitrary string (such as ".", ".L%", etc) without having to make any other changes to account for the specific -- 2.47.3