12825ac47817cec603c74d7224981560299c1a3basewardj 27bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj/*--------------------------------------------------------------------*/ 3752f90673ebbb6b2f55fc5e46606dea371313713sewardj/*--- begin genoffsets.c ---*/ 47bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj/*--------------------------------------------------------------------*/ 57bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 67bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj/* 7752f90673ebbb6b2f55fc5e46606dea371313713sewardj This file is part of Valgrind, a dynamic binary instrumentation 8752f90673ebbb6b2f55fc5e46606dea371313713sewardj framework. 97bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 10ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes Copyright (C) 2004-2017 OpenWorks LLP 11752f90673ebbb6b2f55fc5e46606dea371313713sewardj info@open-works.net 127bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 13752f90673ebbb6b2f55fc5e46606dea371313713sewardj This program is free software; you can redistribute it and/or 14752f90673ebbb6b2f55fc5e46606dea371313713sewardj modify it under the terms of the GNU General Public License as 15752f90673ebbb6b2f55fc5e46606dea371313713sewardj published by the Free Software Foundation; either version 2 of the 16752f90673ebbb6b2f55fc5e46606dea371313713sewardj License, or (at your option) any later version. 177bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 18752f90673ebbb6b2f55fc5e46606dea371313713sewardj This program is distributed in the hope that it will be useful, but 19752f90673ebbb6b2f55fc5e46606dea371313713sewardj WITHOUT ANY WARRANTY; without even the implied warranty of 20752f90673ebbb6b2f55fc5e46606dea371313713sewardj MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 21752f90673ebbb6b2f55fc5e46606dea371313713sewardj General Public License for more details. 22752f90673ebbb6b2f55fc5e46606dea371313713sewardj 23752f90673ebbb6b2f55fc5e46606dea371313713sewardj You should have received a copy of the GNU General Public License 24752f90673ebbb6b2f55fc5e46606dea371313713sewardj along with this program; if not, write to the Free Software 25752f90673ebbb6b2f55fc5e46606dea371313713sewardj Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 267bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 02110-1301, USA. 277bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 28752f90673ebbb6b2f55fc5e46606dea371313713sewardj The GNU General Public License is contained in the file COPYING. 297bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 307bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj Neither the names of the U.S. Department of Energy nor the 317bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj University of California nor the names of its contributors may be 327bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj used to endorse or promote products derived from this software 337bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj without prior written permission. 347bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj*/ 357bd6ffe203f3aa9e7b25f7eae40a9b9cf48710cfsewardj 362825ac47817cec603c74d7224981560299c1a3basewardj#include <stdio.h> 372825ac47817cec603c74d7224981560299c1a3basewardj 38ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj/* A program which, when compiled to assembly, exposes various guest 39ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj state offsets. The program isn't executed, since that breaks 40d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj cross-compilation. 41d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj 42d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj It does rely on the assumption that 'my_offsetof(Ty,Field)' is 43d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj folded to a constant at a compile time, which seems a bit dodgy 44d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj to me. On gcc4 it is possible to use __builtin_offsetof, which 45d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj sounds safer, but that doesn't exist on older gccs. Oh Well. 46d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj*/ 472825ac47817cec603c74d7224981560299c1a3basewardj 482825ac47817cec603c74d7224981560299c1a3basewardj#include "../pub/libvex_basictypes.h" 492825ac47817cec603c74d7224981560299c1a3basewardj#include "../pub/libvex_guest_x86.h" 508137b5baebea1d3e145ecc2ad56b871988aae167sewardj#include "../pub/libvex_guest_amd64.h" 51ed623dbefb52ca3211490d656abc999a129df060cerion#include "../pub/libvex_guest_ppc32.h" 52d953ebb9b04cbad6891676df597bf0c542b1ec89cerion#include "../pub/libvex_guest_ppc64.h" 536c299f3acab617581ea504e45fbb6cab24c2b29fsewardj#include "../pub/libvex_guest_arm.h" 54bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj#include "../pub/libvex_guest_arm64.h" 552019a976f07ff418dde2dfc7cc74667ef66d7764sewardj#include "../pub/libvex_guest_s390x.h" 56d0e5fe765fb79e5495206f8d0969133178b871f2sewardj#include "../pub/libvex_guest_mips32.h" 57b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj#include "../pub/libvex_guest_mips64.h" 582825ac47817cec603c74d7224981560299c1a3basewardj 59ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj#define VG_STRINGIFZ(__str) #__str 60ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj#define VG_STRINGIFY(__str) VG_STRINGIFZ(__str) 61ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj 62d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj#define my_offsetof(__type,__field) (&((__type*)0)->__field) 63d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj 64d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj/* This forces gcc to evaluate the my_offsetof call at compile time, 65ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj and then emits it in the assembly, along with the nonsense string 66ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj "xyzzy", for easy greppability. Once this file is compiled to 67ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj assembly, the lines containing "xyzzy" are grepped out and sed-ed 68ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj to produce the final result. See the Makefile rule for 69ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj pub/libvex_guest_offsets.h. */ 70ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj#define GENOFFSET(_structUppercase,_structLowercase,_fieldname) \ 71ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj __asm__ __volatile__ ( \ 72ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj "\n#define OFFSET_" \ 73ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj VG_STRINGIFY(_structLowercase) "_" \ 74ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj VG_STRINGIFY(_fieldname) \ 75ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj " xyzzy%0\n" : /*out*/ \ 76ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj : /*in*/ "n" \ 77d2dc14a515b7d1b8ede72c6c8db5e04395576769sewardj (my_offsetof(VexGuest##_structUppercase##State, \ 78ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj guest_##_fieldname)) \ 79ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj ) 80ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj 81ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardjvoid foo ( void ); 82ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj__attribute__((noinline)) 83ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardjvoid foo ( void ) 842825ac47817cec603c74d7224981560299c1a3basewardj{ 85ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj // x86 86ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EAX); 87ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EBX); 88ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,ECX); 89ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EDX); 90ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,ESI); 91ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EDI); 92ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EBP); 93ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,ESP); 94ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,EIP); 95ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,CS); 96ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,DS); 97ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,ES); 98ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,FS); 99ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,GS); 100ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(X86,x86,SS); 101ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj 102ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj // amd64 103ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RAX); 104ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RBX); 105ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RCX); 106ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RDX); 107ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RSI); 108ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RDI); 109ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RSP); 110ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RBP); 111ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R8); 112ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R9); 113ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R10); 114ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R11); 115ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R12); 116ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R13); 117ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R14); 118ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,R15); 119ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(AMD64,amd64,RIP); 120ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj 121ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj // ppc32 122ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR0); 123445dbefd81807d22c2d2bb318c5334e163fac33bsewardj GENOFFSET(PPC32,ppc32,GPR1); 124ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR2); 125ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR3); 126ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR4); 127ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR5); 128ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR6); 129ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR7); 130ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR8); 131ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR9); 132ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,GPR10); 133ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,CIA); 134ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC32,ppc32,CR0_0); 135ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj 136ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj // ppc64 137ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR0); 138445dbefd81807d22c2d2bb318c5334e163fac33bsewardj GENOFFSET(PPC64,ppc64,GPR1); 139ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR2); 140ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR3); 141ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR4); 142ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR5); 143ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR6); 144ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR7); 145ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR8); 146ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR9); 147ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,GPR10); 148ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,CIA); 149ba69ffbb2336c0082c1c5fbb59af8c361155f92bsewardj GENOFFSET(PPC64,ppc64,CR0_0); 1506c299f3acab617581ea504e45fbb6cab24c2b29fsewardj 1516c299f3acab617581ea504e45fbb6cab24c2b29fsewardj // arm 1526c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R0); 1536c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R1); 1546c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R2); 1556c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R3); 1566c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R4); 1576c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R5); 1586c299f3acab617581ea504e45fbb6cab24c2b29fsewardj GENOFFSET(ARM,arm,R7); 159445dbefd81807d22c2d2bb318c5334e163fac33bsewardj GENOFFSET(ARM,arm,R13); 160445dbefd81807d22c2d2bb318c5334e163fac33bsewardj GENOFFSET(ARM,arm,R14); 161d266447c09a99122cbc220edee5ac936eee7a0ddsewardj GENOFFSET(ARM,arm,R15T); 1622019a976f07ff418dde2dfc7cc74667ef66d7764sewardj 163bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj // arm64 164bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X0); 165bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X1); 166bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X2); 167bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X3); 168bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X4); 169bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X5); 170bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X6); 171bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X7); 172bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,X8); 173606878860623daa234c68fff81aade73059aaafbsewardj GENOFFSET(ARM64,arm64,XSP); 174bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj GENOFFSET(ARM64,arm64,PC); 175bbcf188f6ae64a44fb31414eb9e1a738b4befcc0sewardj 1762019a976f07ff418dde2dfc7cc74667ef66d7764sewardj // s390x 1772019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r2); 1782019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r3); 1792019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r4); 1802019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r5); 1812019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r6); 1822019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r7); 1832019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,r15); 1842019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,IA); 1852019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,SYSNO); 1862019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,IP_AT_SYSCALL); 1872019a976f07ff418dde2dfc7cc74667ef66d7764sewardj GENOFFSET(S390X,s390x,fpc); 188ad43b3aab3af108802ea091bc58d12903ec002a8florian GENOFFSET(S390X,s390x,CC_OP); 189ad43b3aab3af108802ea091bc58d12903ec002a8florian GENOFFSET(S390X,s390x,CC_DEP1); 190ad43b3aab3af108802ea091bc58d12903ec002a8florian GENOFFSET(S390X,s390x,CC_DEP2); 191ad43b3aab3af108802ea091bc58d12903ec002a8florian GENOFFSET(S390X,s390x,CC_NDEP); 192d0e5fe765fb79e5495206f8d0969133178b871f2sewardj 193d0e5fe765fb79e5495206f8d0969133178b871f2sewardj // MIPS32 194d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r0); 195d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r1); 196d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r2); 197d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r3); 198d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r4); 199d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r5); 200d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r6); 201d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r7); 202d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r8); 203d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r9); 204d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r10); 205d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r11); 206d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r12); 207d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r13); 208d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r14); 209d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r15); 210d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r15); 211d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r17); 212d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r18); 213d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r19); 214d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r20); 215d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r21); 216d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r22); 217d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r23); 218d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r24); 219d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r25); 220d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r26); 221d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r27); 222d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r28); 223d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r29); 224d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r30); 225d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,r31); 226d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,PC); 227d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,HI); 228d0e5fe765fb79e5495206f8d0969133178b871f2sewardj GENOFFSET(MIPS32,mips32,LO); 229b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj 230b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj // MIPS64 231b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r0); 232b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r1); 233b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r2); 234b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r3); 235b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r4); 236b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r5); 237b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r6); 238b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r7); 239b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r8); 240b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r9); 241b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r10); 242b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r11); 243b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r12); 244b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r13); 245b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r14); 246b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r15); 247b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r15); 248b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r17); 249b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r18); 250b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r19); 251b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r20); 252b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r21); 253b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r22); 254b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r23); 255b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r24); 256b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r25); 257b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r26); 258b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r27); 259b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r28); 260b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r29); 261b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r30); 262b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,r31); 263b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,PC); 264b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,HI); 265b92a95406aca7bba15ecc9b5828a16fdbbdc8778petarj GENOFFSET(MIPS64,mips64,LO); 2662825ac47817cec603c74d7224981560299c1a3basewardj} 267752f90673ebbb6b2f55fc5e46606dea371313713sewardj 268752f90673ebbb6b2f55fc5e46606dea371313713sewardj/*--------------------------------------------------------------------*/ 269752f90673ebbb6b2f55fc5e46606dea371313713sewardj/*--- end genoffsets.c ---*/ 270752f90673ebbb6b2f55fc5e46606dea371313713sewardj/*--------------------------------------------------------------------*/ 271