aboutsummaryrefslogtreecommitdiff
path: root/devel/avr-gdb/files/patch-atmega256x-gdb
diff options
context:
space:
mode:
Diffstat (limited to 'devel/avr-gdb/files/patch-atmega256x-gdb')
-rw-r--r--devel/avr-gdb/files/patch-atmega256x-gdb66
1 files changed, 0 insertions, 66 deletions
diff --git a/devel/avr-gdb/files/patch-atmega256x-gdb b/devel/avr-gdb/files/patch-atmega256x-gdb
deleted file mode 100644
index 9b013f53b03f..000000000000
--- a/devel/avr-gdb/files/patch-atmega256x-gdb
+++ /dev/null
@@ -1,66 +0,0 @@
---- gdb/avr-tdep.c.orig 2008-01-11 14:19:59.000000000 +0100
-+++ gdb/avr-tdep.c 2010-01-19 11:19:47.000000000 +0100
-@@ -181,8 +181,10 @@
-
- struct gdbarch_tdep
- {
-- /* FIXME: TRoth: is there anything to put here? */
-- int foo;
-+ /* Size of the PC on the current AVR target. This is equal 2 for
-+ most AVRs except for the ATmega256x devices that have a 3-byte
-+ PC. */
-+ int pcsize;
- };
-
- /* Lookup the name of a register given it's number. */
-@@ -1030,22 +1032,29 @@
- on the stack is in big endian byte order, even though most
- everything else about the avr is little endian. Ick! */
-
-- /* FIXME: number of bytes read here will need updated for the
-- mega256 when it is available. */
--
-+ struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
- ULONGEST pc;
- unsigned char tmp;
-- unsigned char buf[2];
-+ unsigned char buf[3];
-
-- read_memory (info->saved_regs[regnum].addr, buf, 2);
-+ read_memory (info->saved_regs[regnum].addr, buf, tdep->pcsize);
-
- /* Convert the PC read from memory as a big-endian to
- little-endian order. */
-- tmp = buf[0];
-- buf[0] = buf[1];
-- buf[1] = tmp;
-+ if (tdep->pcsize == 2)
-+ {
-+ tmp = buf[0];
-+ buf[0] = buf[1];
-+ buf[1] = tmp;
-+ }
-+ else
-+ {
-+ tmp = buf[0];
-+ buf[0] = buf[2];
-+ buf[2] = tmp;
-+ }
-
-- pc = (extract_unsigned_integer (buf, 2) * 2);
-+ pc = (extract_unsigned_integer (buf, tdep->pcsize) * 2);
- store_unsigned_integer
- (bufferp, register_size (get_frame_arch (next_frame), regnum),
- pc);
-@@ -1280,6 +1289,11 @@
- case bfd_mach_avr3:
- case bfd_mach_avr4:
- case bfd_mach_avr5:
-+ tdep->pcsize = 2;
-+ break;
-+
-+ case bfd_mach_avr6:
-+ tdep->pcsize = 3;
- break;
- }
-