[PATCH] uml makefiles sanitized

UML makefiles sanitized:
 - number of generated headers reduced to 2 (from user-offsets.c and
   kernel-offsets.c resp.).  The rest is made constant and simply
   includes those two.
 - mk_... helpers are gone now that we don't need to generate these
   headers
 - arch/um/include2 removed since everything under arch/um/include/sysdep
   is constant now and symlink can point straight to source tree.
 - dependencies seriously simplified.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Šī revīzija ir iekļauta:
Al Viro
2005-09-28 22:27:23 +01:00
revīziju iesūtīja Linus Torvalds
vecāks 54bb5675a6
revīzija ecba97d4aa
33 mainīti faili ar 240 papildinājumiem un 573 dzēšanām

Parādīt failu

@@ -18,6 +18,4 @@ module.c-dir = kernel
$(obj)/stub_segv.o : _c_flags = $(call unprofile,$(CFLAGS))
subdir- := util
include arch/um/scripts/Makefile.unmap

Parādīt failu

@@ -18,9 +18,9 @@
void foo(void)
{
OFFSET(TASK_DEBUGREGS, task_struct, thread.arch.debugregs);
OFFSET(HOST_TASK_DEBUGREGS, task_struct, thread.arch.debugregs);
#ifdef CONFIG_MODE_TT
OFFSET(TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid);
OFFSET(HOST_TASK_EXTERN_PID, task_struct, thread.mode.tt.extern_pid);
#endif
#include <common-offsets.h>
}

Parādīt failu

@@ -7,47 +7,48 @@
#define DEFINE(sym, val) \
asm volatile("\n->" #sym " %0 " #val : : "i" (val))
#define DEFINE_LONGS(sym, val) \
asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long)))
#define OFFSET(sym, str, mem) \
DEFINE(sym, offsetof(struct str, mem));
void foo(void)
{
OFFSET(SC_IP, sigcontext, eip);
OFFSET(SC_SP, sigcontext, esp);
OFFSET(SC_FS, sigcontext, fs);
OFFSET(SC_GS, sigcontext, gs);
OFFSET(SC_DS, sigcontext, ds);
OFFSET(SC_ES, sigcontext, es);
OFFSET(SC_SS, sigcontext, ss);
OFFSET(SC_CS, sigcontext, cs);
OFFSET(SC_EFLAGS, sigcontext, eflags);
OFFSET(SC_EAX, sigcontext, eax);
OFFSET(SC_EBX, sigcontext, ebx);
OFFSET(SC_ECX, sigcontext, ecx);
OFFSET(SC_EDX, sigcontext, edx);
OFFSET(SC_EDI, sigcontext, edi);
OFFSET(SC_ESI, sigcontext, esi);
OFFSET(SC_EBP, sigcontext, ebp);
OFFSET(SC_TRAPNO, sigcontext, trapno);
OFFSET(SC_ERR, sigcontext, err);
OFFSET(SC_CR2, sigcontext, cr2);
OFFSET(SC_FPSTATE, sigcontext, fpstate);
OFFSET(SC_SIGMASK, sigcontext, oldmask);
OFFSET(SC_FP_CW, _fpstate, cw);
OFFSET(SC_FP_SW, _fpstate, sw);
OFFSET(SC_FP_TAG, _fpstate, tag);
OFFSET(SC_FP_IPOFF, _fpstate, ipoff);
OFFSET(SC_FP_CSSEL, _fpstate, cssel);
OFFSET(SC_FP_DATAOFF, _fpstate, dataoff);
OFFSET(SC_FP_DATASEL, _fpstate, datasel);
OFFSET(SC_FP_ST, _fpstate, _st);
OFFSET(SC_FXSR_ENV, _fpstate, _fxsr_env);
OFFSET(HOST_SC_IP, sigcontext, eip);
OFFSET(HOST_SC_SP, sigcontext, esp);
OFFSET(HOST_SC_FS, sigcontext, fs);
OFFSET(HOST_SC_GS, sigcontext, gs);
OFFSET(HOST_SC_DS, sigcontext, ds);
OFFSET(HOST_SC_ES, sigcontext, es);
OFFSET(HOST_SC_SS, sigcontext, ss);
OFFSET(HOST_SC_CS, sigcontext, cs);
OFFSET(HOST_SC_EFLAGS, sigcontext, eflags);
OFFSET(HOST_SC_EAX, sigcontext, eax);
OFFSET(HOST_SC_EBX, sigcontext, ebx);
OFFSET(HOST_SC_ECX, sigcontext, ecx);
OFFSET(HOST_SC_EDX, sigcontext, edx);
OFFSET(HOST_SC_EDI, sigcontext, edi);
OFFSET(HOST_SC_ESI, sigcontext, esi);
OFFSET(HOST_SC_EBP, sigcontext, ebp);
OFFSET(HOST_SC_TRAPNO, sigcontext, trapno);
OFFSET(HOST_SC_ERR, sigcontext, err);
OFFSET(HOST_SC_CR2, sigcontext, cr2);
OFFSET(HOST_SC_FPSTATE, sigcontext, fpstate);
OFFSET(HOST_SC_SIGMASK, sigcontext, oldmask);
OFFSET(HOST_SC_FP_CW, _fpstate, cw);
OFFSET(HOST_SC_FP_SW, _fpstate, sw);
OFFSET(HOST_SC_FP_TAG, _fpstate, tag);
OFFSET(HOST_SC_FP_IPOFF, _fpstate, ipoff);
OFFSET(HOST_SC_FP_CSSEL, _fpstate, cssel);
OFFSET(HOST_SC_FP_DATAOFF, _fpstate, dataoff);
OFFSET(HOST_SC_FP_DATASEL, _fpstate, datasel);
OFFSET(HOST_SC_FP_ST, _fpstate, _st);
OFFSET(HOST_SC_FXSR_ENV, _fpstate, _fxsr_env);
DEFINE(HOST_FRAME_SIZE, FRAME_SIZE);
DEFINE(HOST_FP_SIZE,
sizeof(struct user_i387_struct) / sizeof(unsigned long));
DEFINE(HOST_XFP_SIZE,
sizeof(struct user_fxsr_struct) / sizeof(unsigned long));
DEFINE_LONGS(HOST_FRAME_SIZE, FRAME_SIZE);
DEFINE_LONGS(HOST_FP_SIZE, sizeof(struct user_i387_struct));
DEFINE_LONGS(HOST_XFP_SIZE, sizeof(struct user_fxsr_struct));
DEFINE(HOST_IP, EIP);
DEFINE(HOST_SP, UESP);
@@ -65,5 +66,5 @@ void foo(void)
DEFINE(HOST_FS, FS);
DEFINE(HOST_ES, ES);
DEFINE(HOST_GS, GS);
DEFINE(__UM_FRAME_SIZE, sizeof(struct user_regs_struct));
DEFINE(UM_FRAME_SIZE, sizeof(struct user_regs_struct));
}

Parādīt failu

@@ -1,5 +0,0 @@
hostprogs-y := mk_sc mk_thread
always := $(hostprogs-y)
HOSTCFLAGS_mk_sc.o := -I$(objtree)/arch/um
HOSTCFLAGS_mk_thread.o := -I$(objtree)/arch/um

Parādīt failu

@@ -1,51 +0,0 @@
#include <stdio.h>
#include <user-offsets.h>
#define SC_OFFSET(name, field) \
printf("#define " #name "(sc) *((unsigned long *) &(((char *) (sc))[%d]))\n",\
name)
#define SC_FP_OFFSET(name, field) \
printf("#define " #name \
"(sc) *((unsigned long *) &(((char *) (SC_FPSTATE(sc)))[%d]))\n",\
name)
#define SC_FP_OFFSET_PTR(name, field, type) \
printf("#define " #name \
"(sc) ((" type " *) &(((char *) (SC_FPSTATE(sc)))[%d]))\n",\
name)
int main(int argc, char **argv)
{
SC_OFFSET(SC_IP, eip);
SC_OFFSET(SC_SP, esp);
SC_OFFSET(SC_FS, fs);
SC_OFFSET(SC_GS, gs);
SC_OFFSET(SC_DS, ds);
SC_OFFSET(SC_ES, es);
SC_OFFSET(SC_SS, ss);
SC_OFFSET(SC_CS, cs);
SC_OFFSET(SC_EFLAGS, eflags);
SC_OFFSET(SC_EAX, eax);
SC_OFFSET(SC_EBX, ebx);
SC_OFFSET(SC_ECX, ecx);
SC_OFFSET(SC_EDX, edx);
SC_OFFSET(SC_EDI, edi);
SC_OFFSET(SC_ESI, esi);
SC_OFFSET(SC_EBP, ebp);
SC_OFFSET(SC_TRAPNO, trapno);
SC_OFFSET(SC_ERR, err);
SC_OFFSET(SC_CR2, cr2);
SC_OFFSET(SC_FPSTATE, fpstate);
SC_OFFSET(SC_SIGMASK, oldmask);
SC_FP_OFFSET(SC_FP_CW, cw);
SC_FP_OFFSET(SC_FP_SW, sw);
SC_FP_OFFSET(SC_FP_TAG, tag);
SC_FP_OFFSET(SC_FP_IPOFF, ipoff);
SC_FP_OFFSET(SC_FP_CSSEL, cssel);
SC_FP_OFFSET(SC_FP_DATAOFF, dataoff);
SC_FP_OFFSET(SC_FP_DATASEL, datasel);
SC_FP_OFFSET_PTR(SC_FP_ST, _st, "struct _fpstate");
SC_FP_OFFSET_PTR(SC_FXSR_ENV, _fxsr_env, "void");
return(0);
}

Parādīt failu

@@ -1,22 +0,0 @@
#include <stdio.h>
#include <kernel-offsets.h>
int main(int argc, char **argv)
{
printf("/*\n");
printf(" * Generated by mk_thread\n");
printf(" */\n");
printf("\n");
printf("#ifndef __UM_THREAD_H\n");
printf("#define __UM_THREAD_H\n");
printf("\n");
printf("#define TASK_DEBUGREGS(task) ((unsigned long *) "
"&(((char *) (task))[%d]))\n", TASK_DEBUGREGS);
#ifdef TASK_EXTERN_PID
printf("#define TASK_EXTERN_PID(task) *((int *) &(((char *) (task))[%d]))\n",
TASK_EXTERN_PID);
#endif
printf("\n");
printf("#endif\n");
return(0);
}