diff options
Diffstat (limited to 'cross/avr-gdb/patches/patch-aa')
-rw-r--r-- | cross/avr-gdb/patches/patch-aa | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/cross/avr-gdb/patches/patch-aa b/cross/avr-gdb/patches/patch-aa new file mode 100644 index 00000000000..4cde547d586 --- /dev/null +++ b/cross/avr-gdb/patches/patch-aa @@ -0,0 +1,24 @@ +$NetBSD: patch-aa,v 1.1.1.1 2003/07/16 22:11:31 wennmach Exp $ + +Index: gdb/avr-tdep.c +=================================================================== +RCS file: /cvs/src/src/gdb/avr-tdep.c,v +retrieving revision 1.4 +diff -u -p -r1.4 avr-tdep.c +--- gdb/avr-tdep.c 17 Jun 2002 23:32:27 -0000 1.4 ++++ gdb/avr-tdep.c 19 Jul 2002 18:33:30 -0000 +@@ -995,7 +995,12 @@ avr_skip_prologue (CORE_ADDR pc) + { + sal = find_pc_line (func_addr, 0); + +- if (sal.line != 0 && sal.end < func_end) ++ /* troth/2002-70-19: For some very simple functions, gcc doesn't ++ generate a prologue and the sal.end ends up being the insn (2 bytes) ++ before func_end (the address of the next func). By adjusting ++ func_end, we can catch these functions and return the correct pc. */ ++ ++ if (sal.line != 0 && sal.end < (func_end-2)) + return sal.end; + } + + |