Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit da998a2a authored by Al Viro's avatar Al Viro Committed by Linus Torvalds
Browse files

[PATCH] uml: cross-build support : mk_task and mk_constants



helpers in arch/um/util (mk_task and mk_constants) converted.  That's it -
none of the helpers depends on build and target being the same architecture
anymore.

Signed-off-by: default avatarAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: default avatarJeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 2b8b611e
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -206,7 +206,7 @@ $(ARCH_DIR)/util/mk_task $(ARCH_DIR)/util/mk_constants: $(ARCH_DIR)/include/user


$(ARCH_DIR)/kernel/skas/util/mk_ptregs: $(ARCH_DIR)/kernel/skas/util FORCE ;
$(ARCH_DIR)/kernel/skas/util/mk_ptregs: $(ARCH_DIR)/kernel/skas/util FORCE ;


$(ARCH_DIR)/util: scripts_basic $(SYS_DIR)/sc.h FORCE
$(ARCH_DIR)/util: scripts_basic $(SYS_DIR)/sc.h $(ARCH_DIR)/kernel-offsets.h FORCE
	$(Q)$(MAKE) $(build)=$@
	$(Q)$(MAKE) $(build)=$@


$(ARCH_DIR)/kernel/skas/util: scripts_basic $(ARCH_DIR)/user-offsets.h FORCE
$(ARCH_DIR)/kernel/skas/util: scripts_basic $(ARCH_DIR)/user-offsets.h FORCE
+2 −5
Original line number Original line Diff line number Diff line
hostprogs-y		:= mk_task mk_constants
hostprogs-y		:= mk_task mk_constants
always			:= $(hostprogs-y)
always			:= $(hostprogs-y)


mk_task-objs		:= mk_task_user.o mk_task_kern.o
HOSTCFLAGS_mk_task.o := -I$(objtree)/arch/um
mk_constants-objs	:= mk_constants_user.o mk_constants_kern.o
HOSTCFLAGS_mk_constants.o := -I$(objtree)/arch/um

HOSTCFLAGS_mk_task_kern.o	:= $(CFLAGS) $(CPPFLAGS)
HOSTCFLAGS_mk_constants_kern.o	:= $(CFLAGS) $(CPPFLAGS)
+32 −0
Original line number Original line Diff line number Diff line
#include <stdio.h>
#include <stdio.h>
#include <kernel-offsets.h>


void print_head(void)
#define SHOW_INT(sym) printf("#define %s %d\n", #sym, sym)
#define SHOW_STR(sym) printf("#define %s %s\n", #sym, sym)

int main(int argc, char **argv)
{
{
  printf("/*\n");
  printf("/*\n");
  printf(" * Generated by mk_constants\n");
  printf(" * Generated by mk_constants\n");
@@ -9,20 +13,20 @@ void print_head(void)
  printf("#ifndef __UM_CONSTANTS_H\n");
  printf("#ifndef __UM_CONSTANTS_H\n");
  printf("#define __UM_CONSTANTS_H\n");
  printf("#define __UM_CONSTANTS_H\n");
  printf("\n");
  printf("\n");
}


void print_constant_str(char *name, char *value)
  SHOW_INT(UM_KERN_PAGE_SIZE);
{
  printf("#define %s \"%s\"\n", name, value);
}


void print_constant_int(char *name, int value)
  SHOW_STR(UM_KERN_EMERG);
{
  SHOW_STR(UM_KERN_ALERT);
  printf("#define %s %d\n", name, value);
  SHOW_STR(UM_KERN_CRIT);
}
  SHOW_STR(UM_KERN_ERR);
  SHOW_STR(UM_KERN_WARNING);
  SHOW_STR(UM_KERN_NOTICE);
  SHOW_STR(UM_KERN_INFO);
  SHOW_STR(UM_KERN_DEBUG);


void print_tail(void)
  SHOW_INT(UM_NSEC_PER_SEC);
{
  printf("\n");
  printf("\n");
  printf("#endif\n");
  printf("#endif\n");
  return(0);
}
}

arch/um/util/mk_constants_kern.c

deleted100644 → 0
+0 −28
Original line number Original line Diff line number Diff line
#include "linux/kernel.h"
#include "linux/stringify.h"
#include "linux/time.h"
#include "asm/page.h"

extern void print_head(void);
extern void print_constant_str(char *name, char *value);
extern void print_constant_int(char *name, int value);
extern void print_tail(void);

int main(int argc, char **argv)
{
  print_head();
  print_constant_int("UM_KERN_PAGE_SIZE", PAGE_SIZE);

  print_constant_str("UM_KERN_EMERG", KERN_EMERG);
  print_constant_str("UM_KERN_ALERT", KERN_ALERT);
  print_constant_str("UM_KERN_CRIT", KERN_CRIT);
  print_constant_str("UM_KERN_ERR", KERN_ERR);
  print_constant_str("UM_KERN_WARNING", KERN_WARNING);
  print_constant_str("UM_KERN_NOTICE", KERN_NOTICE);
  print_constant_str("UM_KERN_INFO", KERN_INFO);
  print_constant_str("UM_KERN_DEBUG", KERN_DEBUG);

  print_constant_int("UM_NSEC_PER_SEC", NSEC_PER_SEC);
  print_tail();
  return(0);
}
+9 −9
Original line number Original line Diff line number Diff line
#include <stdio.h>
#include <stdio.h>
#include <kernel-offsets.h>


void print(char *name, char *type, int offset)
void print_ptr(char *name, char *type, int offset)
{
{
  printf("#define %s(task) *((%s *) &(((char *) (task))[%d]))\n", name, type,
  printf("#define %s(task) ((%s *) &(((char *) (task))[%d]))\n", name, type,
	 offset);
	 offset);
}
}


void print_ptr(char *name, char *type, int offset)
void print(char *name, char *type, int offset)
{
{
  printf("#define %s(task) ((%s *) &(((char *) (task))[%d]))\n", name, type,
  printf("#define %s(task) *((%s *) &(((char *) (task))[%d]))\n", name, type,
	 offset);
	 offset);
}
}


void print_head(void)
int main(int argc, char **argv)
{
{
  printf("/*\n");
  printf("/*\n");
  printf(" * Generated by mk_task\n");
  printf(" * Generated by mk_task\n");
@@ -21,10 +22,9 @@ void print_head(void)
  printf("#ifndef __TASK_H\n");
  printf("#ifndef __TASK_H\n");
  printf("#define __TASK_H\n");
  printf("#define __TASK_H\n");
  printf("\n");
  printf("\n");
}
  print_ptr("TASK_REGS", "union uml_pt_regs", TASK_REGS);

  print("TASK_PID", "int", TASK_PID);
void print_tail(void)
{
  printf("\n");
  printf("\n");
  printf("#endif\n");
  printf("#endif\n");
  return(0);
}
}
Loading