Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/45_all_gdb-hppa-offsets.patch
-= BEGIN original header =-
sanitized headers dont include asm/offsets.h, so cache a local copy 

http://bugs.gentoo.org/180476
http://lists.parisc-linux.org/pipermail/parisc-linux/2007-February/031162.html

-= END original header =-
diff -durN gdb-6.7.1.orig/gdb/hppa-linux-nat.c gdb-6.7.1/gdb/hppa-linux-nat.c
--- gdb-6.7.1.orig/gdb/hppa-linux-nat.c	2007-08-23 20:08:33.000000000 +0200
+++ gdb-6.7.1/gdb/hppa-linux-nat.c	2008-06-17 23:27:45.000000000 +0200
@@ -32,7 +32,7 @@
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,43)
 #include <asm/offset.h>
 #else
-#include <asm/offsets.h>
+#include <hppa-offsets.h>
 #endif
 
 #include "hppa-tdep.h"
diff -durN gdb-6.7.1.orig/gdb/hppa-offsets.h gdb-6.7.1/gdb/hppa-offsets.h
--- gdb-6.7.1.orig/gdb/hppa-offsets.h	1970-01-01 01:00:00.000000000 +0100
+++ gdb-6.7.1/gdb/hppa-offsets.h	2008-06-17 23:27:45.000000000 +0200
@@ -0,0 +1,248 @@
+#ifndef __ASM_OFFSETS_H__
+#define __ASM_OFFSETS_H__
+/*
+ * DO NOT MODIFY.
+ *
+ * This file was generated by arch/parisc/Makefile
+ *
+ */
+
+#define TASK_THREAD_INFO 4 /* offsetof(struct task_struct, thread_info) */
+#define TASK_STATE 0 /* offsetof(struct task_struct, state) */
+#define TASK_FLAGS 12 /* offsetof(struct task_struct, flags) */
+#define TASK_SIGPENDING 1188 /* offsetof(struct task_struct, pending) */
+#define TASK_PTRACE 16 /* offsetof(struct task_struct, ptrace) */
+#define TASK_MM 108 /* offsetof(struct task_struct, mm) */
+#define TASK_PERSONALITY 132 /* offsetof(struct task_struct, personality) */
+#define TASK_PID 140 /* offsetof(struct task_struct, pid) */
+
+#define TASK_REGS 664 /* offsetof(struct task_struct, thread.regs) */
+#define TASK_PT_PSW 664 /* offsetof(struct task_struct, thread.regs.gr[ 0]) */
+#define TASK_PT_GR1 668 /* offsetof(struct task_struct, thread.regs.gr[ 1]) */
+#define TASK_PT_GR2 672 /* offsetof(struct task_struct, thread.regs.gr[ 2]) */
+#define TASK_PT_GR3 676 /* offsetof(struct task_struct, thread.regs.gr[ 3]) */
+#define TASK_PT_GR4 680 /* offsetof(struct task_struct, thread.regs.gr[ 4]) */
+#define TASK_PT_GR5 684 /* offsetof(struct task_struct, thread.regs.gr[ 5]) */
+#define TASK_PT_GR6 688 /* offsetof(struct task_struct, thread.regs.gr[ 6]) */
+#define TASK_PT_GR7 692 /* offsetof(struct task_struct, thread.regs.gr[ 7]) */
+#define TASK_PT_GR8 696 /* offsetof(struct task_struct, thread.regs.gr[ 8]) */
+#define TASK_PT_GR9 700 /* offsetof(struct task_struct, thread.regs.gr[ 9]) */
+#define TASK_PT_GR10 704 /* offsetof(struct task_struct, thread.regs.gr[10]) */
+#define TASK_PT_GR11 708 /* offsetof(struct task_struct, thread.regs.gr[11]) */
+#define TASK_PT_GR12 712 /* offsetof(struct task_struct, thread.regs.gr[12]) */
+#define TASK_PT_GR13 716 /* offsetof(struct task_struct, thread.regs.gr[13]) */
+#define TASK_PT_GR14 720 /* offsetof(struct task_struct, thread.regs.gr[14]) */
+#define TASK_PT_GR15 724 /* offsetof(struct task_struct, thread.regs.gr[15]) */
+#define TASK_PT_GR16 728 /* offsetof(struct task_struct, thread.regs.gr[16]) */
+#define TASK_PT_GR17 732 /* offsetof(struct task_struct, thread.regs.gr[17]) */
+#define TASK_PT_GR18 736 /* offsetof(struct task_struct, thread.regs.gr[18]) */
+#define TASK_PT_GR19 740 /* offsetof(struct task_struct, thread.regs.gr[19]) */
+#define TASK_PT_GR20 744 /* offsetof(struct task_struct, thread.regs.gr[20]) */
+#define TASK_PT_GR21 748 /* offsetof(struct task_struct, thread.regs.gr[21]) */
+#define TASK_PT_GR22 752 /* offsetof(struct task_struct, thread.regs.gr[22]) */
+#define TASK_PT_GR23 756 /* offsetof(struct task_struct, thread.regs.gr[23]) */
+#define TASK_PT_GR24 760 /* offsetof(struct task_struct, thread.regs.gr[24]) */
+#define TASK_PT_GR25 764 /* offsetof(struct task_struct, thread.regs.gr[25]) */
+#define TASK_PT_GR26 768 /* offsetof(struct task_struct, thread.regs.gr[26]) */
+#define TASK_PT_GR27 772 /* offsetof(struct task_struct, thread.regs.gr[27]) */
+#define TASK_PT_GR28 776 /* offsetof(struct task_struct, thread.regs.gr[28]) */
+#define TASK_PT_GR29 780 /* offsetof(struct task_struct, thread.regs.gr[29]) */
+#define TASK_PT_GR30 784 /* offsetof(struct task_struct, thread.regs.gr[30]) */
+#define TASK_PT_GR31 788 /* offsetof(struct task_struct, thread.regs.gr[31]) */
+#define TASK_PT_FR0 792 /* offsetof(struct task_struct, thread.regs.fr[ 0]) */
+#define TASK_PT_FR1 800 /* offsetof(struct task_struct, thread.regs.fr[ 1]) */
+#define TASK_PT_FR2 808 /* offsetof(struct task_struct, thread.regs.fr[ 2]) */
+#define TASK_PT_FR3 816 /* offsetof(struct task_struct, thread.regs.fr[ 3]) */
+#define TASK_PT_FR4 824 /* offsetof(struct task_struct, thread.regs.fr[ 4]) */
+#define TASK_PT_FR5 832 /* offsetof(struct task_struct, thread.regs.fr[ 5]) */
+#define TASK_PT_FR6 840 /* offsetof(struct task_struct, thread.regs.fr[ 6]) */
+#define TASK_PT_FR7 848 /* offsetof(struct task_struct, thread.regs.fr[ 7]) */
+#define TASK_PT_FR8 856 /* offsetof(struct task_struct, thread.regs.fr[ 8]) */
+#define TASK_PT_FR9 864 /* offsetof(struct task_struct, thread.regs.fr[ 9]) */
+#define TASK_PT_FR10 872 /* offsetof(struct task_struct, thread.regs.fr[10]) */
+#define TASK_PT_FR11 880 /* offsetof(struct task_struct, thread.regs.fr[11]) */
+#define TASK_PT_FR12 888 /* offsetof(struct task_struct, thread.regs.fr[12]) */
+#define TASK_PT_FR13 896 /* offsetof(struct task_struct, thread.regs.fr[13]) */
+#define TASK_PT_FR14 904 /* offsetof(struct task_struct, thread.regs.fr[14]) */
+#define TASK_PT_FR15 912 /* offsetof(struct task_struct, thread.regs.fr[15]) */
+#define TASK_PT_FR16 920 /* offsetof(struct task_struct, thread.regs.fr[16]) */
+#define TASK_PT_FR17 928 /* offsetof(struct task_struct, thread.regs.fr[17]) */
+#define TASK_PT_FR18 936 /* offsetof(struct task_struct, thread.regs.fr[18]) */
+#define TASK_PT_FR19 944 /* offsetof(struct task_struct, thread.regs.fr[19]) */
+#define TASK_PT_FR20 952 /* offsetof(struct task_struct, thread.regs.fr[20]) */
+#define TASK_PT_FR21 960 /* offsetof(struct task_struct, thread.regs.fr[21]) */
+#define TASK_PT_FR22 968 /* offsetof(struct task_struct, thread.regs.fr[22]) */
+#define TASK_PT_FR23 976 /* offsetof(struct task_struct, thread.regs.fr[23]) */
+#define TASK_PT_FR24 984 /* offsetof(struct task_struct, thread.regs.fr[24]) */
+#define TASK_PT_FR25 992 /* offsetof(struct task_struct, thread.regs.fr[25]) */
+#define TASK_PT_FR26 1000 /* offsetof(struct task_struct, thread.regs.fr[26]) */
+#define TASK_PT_FR27 1008 /* offsetof(struct task_struct, thread.regs.fr[27]) */
+#define TASK_PT_FR28 1016 /* offsetof(struct task_struct, thread.regs.fr[28]) */
+#define TASK_PT_FR29 1024 /* offsetof(struct task_struct, thread.regs.fr[29]) */
+#define TASK_PT_FR30 1032 /* offsetof(struct task_struct, thread.regs.fr[30]) */
+#define TASK_PT_FR31 1040 /* offsetof(struct task_struct, thread.regs.fr[31]) */
+#define TASK_PT_SR0 1048 /* offsetof(struct task_struct, thread.regs.sr[ 0]) */
+#define TASK_PT_SR1 1052 /* offsetof(struct task_struct, thread.regs.sr[ 1]) */
+#define TASK_PT_SR2 1056 /* offsetof(struct task_struct, thread.regs.sr[ 2]) */
+#define TASK_PT_SR3 1060 /* offsetof(struct task_struct, thread.regs.sr[ 3]) */
+#define TASK_PT_SR4 1064 /* offsetof(struct task_struct, thread.regs.sr[ 4]) */
+#define TASK_PT_SR5 1068 /* offsetof(struct task_struct, thread.regs.sr[ 5]) */
+#define TASK_PT_SR6 1072 /* offsetof(struct task_struct, thread.regs.sr[ 6]) */
+#define TASK_PT_SR7 1076 /* offsetof(struct task_struct, thread.regs.sr[ 7]) */
+#define TASK_PT_IASQ0 1080 /* offsetof(struct task_struct, thread.regs.iasq[0]) */
+#define TASK_PT_IASQ1 1084 /* offsetof(struct task_struct, thread.regs.iasq[1]) */
+#define TASK_PT_IAOQ0 1088 /* offsetof(struct task_struct, thread.regs.iaoq[0]) */
+#define TASK_PT_IAOQ1 1092 /* offsetof(struct task_struct, thread.regs.iaoq[1]) */
+#define TASK_PT_CR27 1096 /* offsetof(struct task_struct, thread.regs.cr27) */
+#define TASK_PT_ORIG_R28 1104 /* offsetof(struct task_struct, thread.regs.orig_r28) */
+#define TASK_PT_KSP 1108 /* offsetof(struct task_struct, thread.regs.ksp) */
+#define TASK_PT_KPC 1112 /* offsetof(struct task_struct, thread.regs.kpc) */
+#define TASK_PT_SAR 1116 /* offsetof(struct task_struct, thread.regs.sar) */
+#define TASK_PT_IIR 1120 /* offsetof(struct task_struct, thread.regs.iir) */
+#define TASK_PT_ISR 1124 /* offsetof(struct task_struct, thread.regs.isr) */
+#define TASK_PT_IOR 1128 /* offsetof(struct task_struct, thread.regs.ior) */
+
+#define TASK_SZ 1272 /* sizeof(struct task_struct) */
+#define TASK_SZ_ALGN 1344 /* align(sizeof(struct task_struct), 64) */
+
+#define PT_PSW 0 /* offsetof(struct pt_regs, gr[ 0]) */
+#define PT_GR1 4 /* offsetof(struct pt_regs, gr[ 1]) */
+#define PT_GR2 8 /* offsetof(struct pt_regs, gr[ 2]) */
+#define PT_GR3 12 /* offsetof(struct pt_regs, gr[ 3]) */
+#define PT_GR4 16 /* offsetof(struct pt_regs, gr[ 4]) */
+#define PT_GR5 20 /* offsetof(struct pt_regs, gr[ 5]) */
+#define PT_GR6 24 /* offsetof(struct pt_regs, gr[ 6]) */
+#define PT_GR7 28 /* offsetof(struct pt_regs, gr[ 7]) */
+#define PT_GR8 32 /* offsetof(struct pt_regs, gr[ 8]) */
+#define PT_GR9 36 /* offsetof(struct pt_regs, gr[ 9]) */
+#define PT_GR10 40 /* offsetof(struct pt_regs, gr[10]) */
+#define PT_GR11 44 /* offsetof(struct pt_regs, gr[11]) */
+#define PT_GR12 48 /* offsetof(struct pt_regs, gr[12]) */
+#define PT_GR13 52 /* offsetof(struct pt_regs, gr[13]) */
+#define PT_GR14 56 /* offsetof(struct pt_regs, gr[14]) */
+#define PT_GR15 60 /* offsetof(struct pt_regs, gr[15]) */
+#define PT_GR16 64 /* offsetof(struct pt_regs, gr[16]) */
+#define PT_GR17 68 /* offsetof(struct pt_regs, gr[17]) */
+#define PT_GR18 72 /* offsetof(struct pt_regs, gr[18]) */
+#define PT_GR19 76 /* offsetof(struct pt_regs, gr[19]) */
+#define PT_GR20 80 /* offsetof(struct pt_regs, gr[20]) */
+#define PT_GR21 84 /* offsetof(struct pt_regs, gr[21]) */
+#define PT_GR22 88 /* offsetof(struct pt_regs, gr[22]) */
+#define PT_GR23 92 /* offsetof(struct pt_regs, gr[23]) */
+#define PT_GR24 96 /* offsetof(struct pt_regs, gr[24]) */
+#define PT_GR25 100 /* offsetof(struct pt_regs, gr[25]) */
+#define PT_GR26 104 /* offsetof(struct pt_regs, gr[26]) */
+#define PT_GR27 108 /* offsetof(struct pt_regs, gr[27]) */
+#define PT_GR28 112 /* offsetof(struct pt_regs, gr[28]) */
+#define PT_GR29 116 /* offsetof(struct pt_regs, gr[29]) */
+#define PT_GR30 120 /* offsetof(struct pt_regs, gr[30]) */
+#define PT_GR31 124 /* offsetof(struct pt_regs, gr[31]) */
+#define PT_FR0 128 /* offsetof(struct pt_regs, fr[ 0]) */
+#define PT_FR1 136 /* offsetof(struct pt_regs, fr[ 1]) */
+#define PT_FR2 144 /* offsetof(struct pt_regs, fr[ 2]) */
+#define PT_FR3 152 /* offsetof(struct pt_regs, fr[ 3]) */
+#define PT_FR4 160 /* offsetof(struct pt_regs, fr[ 4]) */
+#define PT_FR5 168 /* offsetof(struct pt_regs, fr[ 5]) */
+#define PT_FR6 176 /* offsetof(struct pt_regs, fr[ 6]) */
+#define PT_FR7 184 /* offsetof(struct pt_regs, fr[ 7]) */
+#define PT_FR8 192 /* offsetof(struct pt_regs, fr[ 8]) */
+#define PT_FR9 200 /* offsetof(struct pt_regs, fr[ 9]) */
+#define PT_FR10 208 /* offsetof(struct pt_regs, fr[10]) */
+#define PT_FR11 216 /* offsetof(struct pt_regs, fr[11]) */
+#define PT_FR12 224 /* offsetof(struct pt_regs, fr[12]) */
+#define PT_FR13 232 /* offsetof(struct pt_regs, fr[13]) */
+#define PT_FR14 240 /* offsetof(struct pt_regs, fr[14]) */
+#define PT_FR15 248 /* offsetof(struct pt_regs, fr[15]) */
+#define PT_FR16 256 /* offsetof(struct pt_regs, fr[16]) */
+#define PT_FR17 264 /* offsetof(struct pt_regs, fr[17]) */
+#define PT_FR18 272 /* offsetof(struct pt_regs, fr[18]) */
+#define PT_FR19 280 /* offsetof(struct pt_regs, fr[19]) */
+#define PT_FR20 288 /* offsetof(struct pt_regs, fr[20]) */
+#define PT_FR21 296 /* offsetof(struct pt_regs, fr[21]) */
+#define PT_FR22 304 /* offsetof(struct pt_regs, fr[22]) */
+#define PT_FR23 312 /* offsetof(struct pt_regs, fr[23]) */
+#define PT_FR24 320 /* offsetof(struct pt_regs, fr[24]) */
+#define PT_FR25 328 /* offsetof(struct pt_regs, fr[25]) */
+#define PT_FR26 336 /* offsetof(struct pt_regs, fr[26]) */
+#define PT_FR27 344 /* offsetof(struct pt_regs, fr[27]) */
+#define PT_FR28 352 /* offsetof(struct pt_regs, fr[28]) */
+#define PT_FR29 360 /* offsetof(struct pt_regs, fr[29]) */
+#define PT_FR30 368 /* offsetof(struct pt_regs, fr[30]) */
+#define PT_FR31 376 /* offsetof(struct pt_regs, fr[31]) */
+#define PT_SR0 384 /* offsetof(struct pt_regs, sr[ 0]) */
+#define PT_SR1 388 /* offsetof(struct pt_regs, sr[ 1]) */
+#define PT_SR2 392 /* offsetof(struct pt_regs, sr[ 2]) */
+#define PT_SR3 396 /* offsetof(struct pt_regs, sr[ 3]) */
+#define PT_SR4 400 /* offsetof(struct pt_regs, sr[ 4]) */
+#define PT_SR5 404 /* offsetof(struct pt_regs, sr[ 5]) */
+#define PT_SR6 408 /* offsetof(struct pt_regs, sr[ 6]) */
+#define PT_SR7 412 /* offsetof(struct pt_regs, sr[ 7]) */
+#define PT_IASQ0 416 /* offsetof(struct pt_regs, iasq[0]) */
+#define PT_IASQ1 420 /* offsetof(struct pt_regs, iasq[1]) */
+#define PT_IAOQ0 424 /* offsetof(struct pt_regs, iaoq[0]) */
+#define PT_IAOQ1 428 /* offsetof(struct pt_regs, iaoq[1]) */
+#define PT_CR27 432 /* offsetof(struct pt_regs, cr27) */
+#define PT_ORIG_R28 440 /* offsetof(struct pt_regs, orig_r28) */
+#define PT_KSP 444 /* offsetof(struct pt_regs, ksp) */
+#define PT_KPC 448 /* offsetof(struct pt_regs, kpc) */
+#define PT_SAR 452 /* offsetof(struct pt_regs, sar) */
+#define PT_IIR 456 /* offsetof(struct pt_regs, iir) */
+#define PT_ISR 460 /* offsetof(struct pt_regs, isr) */
+#define PT_IOR 464 /* offsetof(struct pt_regs, ior) */
+#define PT_SIZE 472 /* sizeof(struct pt_regs) */
+#define PT_SZ_ALGN 576 /* align(sizeof(struct pt_regs), 64) */
+
+#define TI_TASK 0 /* offsetof(struct thread_info, task) */
+#define TI_EXEC_DOMAIN 4 /* offsetof(struct thread_info, exec_domain) */
+#define TI_FLAGS 8 /* offsetof(struct thread_info, flags) */
+#define TI_CPU 16 /* offsetof(struct thread_info, cpu) */
+#define TI_SEGMENT 12 /* offsetof(struct thread_info, addr_limit) */
+#define TI_PRE_COUNT 20 /* offsetof(struct thread_info, preempt_count) */
+#define THREAD_SZ 44 /* sizeof(struct thread_info) */
+#define THREAD_SZ_ALGN 128 /* align(sizeof(struct thread_info), 64) */
+
+#define IRQSTAT_SIRQ_PEND 0 /* offsetof(irq_cpustat_t, __softirq_pending) */
+#define IRQSTAT_SZ 64 /* sizeof(irq_cpustat_t) */
+
+#define ICACHE_BASE 8 /* offsetof(struct pdc_cache_info, ic_base) */
+#define ICACHE_STRIDE 12 /* offsetof(struct pdc_cache_info, ic_stride) */
+#define ICACHE_COUNT 16 /* offsetof(struct pdc_cache_info, ic_count) */
+#define ICACHE_LOOP 20 /* offsetof(struct pdc_cache_info, ic_loop) */
+#define DCACHE_BASE 32 /* offsetof(struct pdc_cache_info, dc_base) */
+#define DCACHE_STRIDE 36 /* offsetof(struct pdc_cache_info, dc_stride) */
+#define DCACHE_COUNT 40 /* offsetof(struct pdc_cache_info, dc_count) */
+#define DCACHE_LOOP 44 /* offsetof(struct pdc_cache_info, dc_loop) */
+#define ITLB_SID_BASE 56 /* offsetof(struct pdc_cache_info, it_sp_base) */
+#define ITLB_SID_STRIDE 60 /* offsetof(struct pdc_cache_info, it_sp_stride) */
+#define ITLB_SID_COUNT 64 /* offsetof(struct pdc_cache_info, it_sp_count) */
+#define ITLB_OFF_BASE 68 /* offsetof(struct pdc_cache_info, it_off_base) */
+#define ITLB_OFF_STRIDE 72 /* offsetof(struct pdc_cache_info, it_off_stride) */
+#define ITLB_OFF_COUNT 76 /* offsetof(struct pdc_cache_info, it_off_count) */
+#define ITLB_LOOP 80 /* offsetof(struct pdc_cache_info, it_loop) */
+#define DTLB_SID_BASE 92 /* offsetof(struct pdc_cache_info, dt_sp_base) */
+#define DTLB_SID_STRIDE 96 /* offsetof(struct pdc_cache_info, dt_sp_stride) */
+#define DTLB_SID_COUNT 100 /* offsetof(struct pdc_cache_info, dt_sp_count) */
+#define DTLB_OFF_BASE 104 /* offsetof(struct pdc_cache_info, dt_off_base) */
+#define DTLB_OFF_STRIDE 108 /* offsetof(struct pdc_cache_info, dt_off_stride) */
+#define DTLB_OFF_COUNT 112 /* offsetof(struct pdc_cache_info, dt_off_count) */
+#define DTLB_LOOP 116 /* offsetof(struct pdc_cache_info, dt_loop) */
+
+#define PA_BLOCKSTEP_BIT 1 /* 31-PT_BLOCKSTEP_BIT */
+#define PA_SINGLESTEP_BIT 0 /* 31-PT_SINGLESTEP_BIT */
+
+#define ASM_PMD_SHIFT 21 /* PMD_SHIFT */
+#define ASM_PGDIR_SHIFT 21 /* PGDIR_SHIFT */
+#define ASM_BITS_PER_PGD 11 /* BITS_PER_PGD */
+#define ASM_BITS_PER_PMD 0 /* BITS_PER_PMD */
+#define ASM_BITS_PER_PTE 9 /* BITS_PER_PTE */
+#define ASM_PGD_PMD_OFFSET -8192 /* -(PAGE_SIZE << PGD_ORDER) */
+#define ASM_PMD_ENTRY 128 /* ((PAGE_OFFSET & PMD_MASK) >> PMD_SHIFT) */
+#define ASM_PGD_ENTRY 128 /* PAGE_OFFSET >> PGDIR_SHIFT */
+#define ASM_PGD_ENTRY_SIZE 4 /* PGD_ENTRY_SIZE */
+#define ASM_PMD_ENTRY_SIZE 4 /* PMD_ENTRY_SIZE */
+#define ASM_PTE_ENTRY_SIZE 8 /* PTE_ENTRY_SIZE */
+#define ASM_PT_INITIAL 4 /* PT_INITIAL */
+#define ASM_PAGE_SIZE 4096 /* PAGE_SIZE */
+
+
+#endif
