[PATCH] uml: cross-build support : mk_ptregs
authorAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
Thu, 5 May 2005 23:15:24 +0000 (16:15 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Thu, 5 May 2005 23:36:34 +0000 (16:36 -0700)
mk_ptregs converted.  Nothing new here, it's the same situation as with
mk_user_constants.

Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/um/Makefile
arch/um/kernel/skas/util/Makefile
arch/um/kernel/skas/util/mk_ptregs-i386.c
arch/um/kernel/skas/util/mk_ptregs-x86_64.c

index e3465dab57fd10aedd9caadeeb3fca879a35fd54..46a332f96e3c7bd231d435c5915fe7d3cf51c449 100644 (file)
@@ -196,7 +196,7 @@ $(ARCH_DIR)/kernel/skas/util/mk_ptregs: $(ARCH_DIR)/kernel/skas/util FORCE ;
 $(ARCH_DIR)/util: scripts_basic $(SYS_DIR)/sc.h FORCE
        $(Q)$(MAKE) $(build)=$@
 
-$(ARCH_DIR)/kernel/skas/util: scripts_basic FORCE
+$(ARCH_DIR)/kernel/skas/util: scripts_basic $(ARCH_DIR)/user-offsets.h FORCE
        $(Q)$(MAKE) $(build)=$@
 
 $(ARCH_DIR)/os-$(OS)/util: scripts_basic FORCE
index 17f5909d60f7f45960f13a9f458ec0f035a1ae8f..f7b7eba83340d39fd33157e4b5af2a8e1e9fcede 100644 (file)
@@ -2,3 +2,4 @@ hostprogs-y             := mk_ptregs
 always                 := $(hostprogs-y)
 
 mk_ptregs-objs := mk_ptregs-$(SUBARCH).o
+HOSTCFLAGS_mk_ptregs-$(SUBARCH).o := -I$(objtree)/arch/um
index 0788dd05bcacd56741272aef43095c5b4b11cf85..1f96e1eeb8a78c324c68bd2a8ea85be42ff1fc6e 100644 (file)
@@ -1,8 +1,7 @@
 #include <stdio.h>
-#include <asm/ptrace.h>
-#include <asm/user.h>
+#include <user-offsets.h>
 
-#define PRINT_REG(name, val) printf("#define HOST_%s %d\n", (name), (val))
+#define SHOW(name) printf("#define %s %d\n", #name, name)
 
 int main(int argc, char **argv)
 {
@@ -12,28 +11,27 @@ int main(int argc, char **argv)
        printf("#ifndef __SKAS_PT_REGS_\n");
        printf("#define __SKAS_PT_REGS_\n");
        printf("\n");
-       printf("#define HOST_FRAME_SIZE %d\n", FRAME_SIZE);
-       printf("#define HOST_FP_SIZE %d\n",
-              sizeof(struct user_i387_struct) / sizeof(unsigned long));
-       printf("#define HOST_XFP_SIZE %d\n",
-              sizeof(struct user_fxsr_struct) / sizeof(unsigned long));
+       SHOW(HOST_FRAME_SIZE);
+       SHOW(HOST_FP_SIZE);
+       SHOW(HOST_XFP_SIZE);
+
+       SHOW(HOST_IP);
+       SHOW(HOST_SP);
+       SHOW(HOST_EFLAGS);
+       SHOW(HOST_EAX);
+       SHOW(HOST_EBX);
+       SHOW(HOST_ECX);
+       SHOW(HOST_EDX);
+       SHOW(HOST_ESI);
+       SHOW(HOST_EDI);
+       SHOW(HOST_EBP);
+       SHOW(HOST_CS);
+       SHOW(HOST_SS);
+       SHOW(HOST_DS);
+       SHOW(HOST_FS);
+       SHOW(HOST_ES);
+       SHOW(HOST_GS);
 
-       PRINT_REG("IP", EIP);
-       PRINT_REG("SP", UESP);
-       PRINT_REG("EFLAGS", EFL);
-       PRINT_REG("EAX", EAX);
-       PRINT_REG("EBX", EBX);
-       PRINT_REG("ECX", ECX);
-       PRINT_REG("EDX", EDX);
-       PRINT_REG("ESI", ESI);
-       PRINT_REG("EDI", EDI);
-       PRINT_REG("EBP", EBP);
-       PRINT_REG("CS", CS);
-       PRINT_REG("SS", SS);
-       PRINT_REG("DS", DS);
-       PRINT_REG("FS", FS);
-       PRINT_REG("ES", ES);
-       PRINT_REG("GS", GS);
        printf("\n");
        printf("#endif\n");
        return(0);
index 67aee92a70efa50a209dbe60e04548277cfe479a..5fccbfe35f78e1b3f9ce4eda375aaa1d4e084a79 100644 (file)
@@ -5,11 +5,10 @@
  */
 
 #include <stdio.h>
-#define __FRAME_OFFSETS
-#include <asm/ptrace.h>
+#include <user-offsets.h>
 
-#define PRINT_REG(name, val) \
-       printf("#define HOST_%s (%d / sizeof(unsigned long))\n", (name), (val))
+#define SHOW(name) \
+       printf("#define %s (%d / sizeof(unsigned long))\n", #name, name)
 
 int main(int argc, char **argv)
 {
@@ -18,36 +17,35 @@ int main(int argc, char **argv)
        printf("\n");
        printf("#ifndef __SKAS_PT_REGS_\n");
        printf("#define __SKAS_PT_REGS_\n");
-       printf("#define HOST_FRAME_SIZE (%d / sizeof(unsigned long))\n",
-              FRAME_SIZE);
-       PRINT_REG("RBX", RBX);
-       PRINT_REG("RCX", RCX);
-       PRINT_REG("RDI", RDI);
-       PRINT_REG("RSI", RSI);
-       PRINT_REG("RDX", RDX);
-       PRINT_REG("RBP", RBP);
-       PRINT_REG("RAX", RAX);
-       PRINT_REG("R8", R8);
-       PRINT_REG("R9", R9);
-       PRINT_REG("R10", R10);
-       PRINT_REG("R11", R11);
-       PRINT_REG("R12", R12);
-       PRINT_REG("R13", R13);
-       PRINT_REG("R14", R14);
-       PRINT_REG("R15", R15);
-       PRINT_REG("ORIG_RAX", ORIG_RAX);
-       PRINT_REG("CS", CS);
-       PRINT_REG("SS", SS);
-       PRINT_REG("EFLAGS", EFLAGS);
+       SHOW(HOST_FRAME_SIZE);
+       SHOW(HOST_RBX);
+       SHOW(HOST_RCX);
+       SHOW(HOST_RDI);
+       SHOW(HOST_RSI);
+       SHOW(HOST_RDX);
+       SHOW(HOST_RBP);
+       SHOW(HOST_RAX);
+       SHOW(HOST_R8);
+       SHOW(HOST_R9);
+       SHOW(HOST_R10);
+       SHOW(HOST_R11);
+       SHOW(HOST_R12);
+       SHOW(HOST_R13);
+       SHOW(HOST_R14);
+       SHOW(HOST_R15);
+       SHOW(HOST_ORIG_RAX);
+       SHOW(HOST_CS);
+       SHOW(HOST_SS);
+       SHOW(HOST_EFLAGS);
 #if 0
-       PRINT_REG("FS", FS);
-       PRINT_REG("GS", GS);
-       PRINT_REG("DS", DS);
-       PRINT_REG("ES", ES);
+       SHOW(HOST_FS);
+       SHOW(HOST_GS);
+       SHOW(HOST_DS);
+       SHOW(HOST_ES);
 #endif
 
-       PRINT_REG("IP", RIP);
-       PRINT_REG("SP", RSP);
+       SHOW(HOST_IP);
+       SHOW(HOST_SP);
        printf("#define HOST_FP_SIZE 0\n");
        printf("#define HOST_XFP_SIZE 0\n");
        printf("\n");