Register the ia32 exec domain even though CONFIG_IA32_SUPPORT and CONFIG_COMPAT are turned off. This is necessary to support the alternate root feature for programs running with PER_LINUX32. Signed-off-by: Arun Sharma --- linux26/include/asm-ia64/ia32.h- 2004-10-05 15:30:05.000000000 -0700 +++ linux26/include/asm-ia64/ia32.h 2004-10-05 15:31:11.000000000 -0700 @@ -11,6 +11,8 @@ #ifndef __ASSEMBLY__ +extern int register_ia32_exec_domain(void); + # ifdef CONFIG_IA32_SUPPORT extern void ia32_cpu_init (void); --- linux26/arch/ia64/kernel/process.c- 2004-10-05 15:20:04.000000000 -0700 +++ linux26/arch/ia64/kernel/process.c 2004-10-05 15:30:57.000000000 -0700 @@ -765,3 +765,19 @@ } EXPORT_SYMBOL(machine_power_off); + +struct exec_domain ia32_exec_domain; + +int __init +register_ia32_exec_domain() +{ + ia32_exec_domain.name = "Linux/x86"; + ia32_exec_domain.handler = NULL; + ia32_exec_domain.pers_low = PER_LINUX32; + ia32_exec_domain.pers_high = PER_LINUX32; + ia32_exec_domain.signal_map = default_exec_domain.signal_map; + ia32_exec_domain.signal_invmap = default_exec_domain.signal_invmap; + return register_exec_domain(&ia32_exec_domain); +} + +__initcall(register_ia32_exec_domain); --- linux26/arch/ia64/ia32/ia32_support.c- 2004-10-05 15:19:24.000000000 -0700 +++ linux26/arch/ia64/ia32/ia32_support.c 2004-10-05 16:37:50.000000000 -0700 @@ -29,7 +29,6 @@ extern void die_if_kernel (char *str, struct pt_regs *regs, long err); -struct exec_domain ia32_exec_domain; struct page *ia32_shared_page[NR_CPUS]; unsigned long *ia32_boot_gdt; unsigned long *cpu_gdt_table[NR_CPUS]; @@ -211,14 +210,6 @@ static int __init ia32_init (void) { - ia32_exec_domain.name = "Linux/x86"; - ia32_exec_domain.handler = NULL; - ia32_exec_domain.pers_low = PER_LINUX32; - ia32_exec_domain.pers_high = PER_LINUX32; - ia32_exec_domain.signal_map = default_exec_domain.signal_map; - ia32_exec_domain.signal_invmap = default_exec_domain.signal_invmap; - register_exec_domain(&ia32_exec_domain); - #if PAGE_SHIFT > IA32_PAGE_SHIFT { extern kmem_cache_t *partial_page_cachep;