UM: fix make headers_install after UAPI header installation
PATCH 1/1 UM: fix make headers_install after UAPI header installation
Commit 10b63956 (UAPI: Plumb the UAPI Kbuilds into the user header installation and checking) breaks UML make headers_install with the following:
$ ARCH=um make headers_install CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h HOSTCC scripts/basic/fixdep WRAP arch/um/include/generated/asm/bug.h [snip] WRAP arch/um/include/generated/asm/trace_clock.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h HOSTCC scripts/unifdef Makefile:912: *** Headers not exportable for the um architecture. Stop. zsh: exit 2 ARCH=um make headers_install
The reason for that is because the top-level Makefile does the following:
$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \
$(error Headers not exportable for the $(SRCARCH) architecture))we end-up in the else part of the $(if) statement because UML still uses the old path in arch/um/include/asm/Kbuild. This patch fixes the issue by moving the header files to be in arch/um/include/uapi/asm/ thus making headers_install (and other make targets checking for uapi) to succeed.
---
Richard, this is applicable to 3.7 onwards, I will submit per-version patches if you want to. Thanks!
arch/um/include/{ => uapi}/asm/Kbuild | 0
arch/um/include/{ => uapi}/asm/a.out-core.h | 0
arch/um/include/{ => uapi}/asm/bugs.h | 0
arch/um/include/{ => uapi}/asm/cache.h | 0
arch/um/include/{ => uapi}/asm/common.lds.S | 0
arch/um/include/{ => uapi}/asm/dma.h | 0
arch/um/include/{ => uapi}/asm/fixmap.h | 0
arch/um/include/{ => uapi}/asm/irq.h | 0
arch/um/include/{ => uapi}/asm/irqflags.h | 0
arch/um/include/{ => uapi}/asm/kmap_types.h | 0
arch/um/include/{ => uapi}/asm/kvm_para.h | 0
arch/um/include/{ => uapi}/asm/mmu.h | 0
arch/um/include/{ => uapi}/asm/mmu_context.h | 0
arch/um/include/{ => uapi}/asm/page.h | 0
arch/um/include/{ => uapi}/asm/pgalloc.h | 0
arch/um/include/{ => uapi}/asm/pgtable-2level.h | 0
arch/um/include/{ => uapi}/asm/pgtable-3level.h | 0
arch/um/include/{ => uapi}/asm/pgtable.h | 0
arch/um/include/{ => uapi}/asm/processor-generic.h | 0
arch/um/include/{ => uapi}/asm/ptrace-generic.h | 0
arch/um/include/{ => uapi}/asm/setup.h | 0
arch/um/include/{ => uapi}/asm/smp.h | 0
arch/um/include/{ => uapi}/asm/sysrq.h | 0
arch/um/include/{ => uapi}/asm/thread_info.h | 0
arch/um/include/{ => uapi}/asm/timex.h | 0
arch/um/include/{ => uapi}/asm/tlb.h | 0
arch/um/include/{ => uapi}/asm/tlbflush.h | 0
arch/um/include/{ => uapi}/asm/uaccess.h | 0
28 files changed, 0 insertions(+), 0 deletions(-)
rename arch/um/include/{ => uapi}/asm/Kbuild (100%)
rename arch/um/include/{ => uapi}/asm/a.out-core.h (100%)
rename arch/um/include/{ => uapi}/asm/bugs.h (100%)
rename arch/um/include/{ => uapi}/asm/cache.h (100%)
rename arch/um/include/{ => uapi}/asm/common.lds.S (100%)
rename arch/um/include/{ => uapi}/asm/dma.h (100%)
rename arch/um/include/{ => uapi}/asm/fixmap.h (100%)
rename arch/um/include/{ => uapi}/asm/irq.h (100%)
rename arch/um/include/{ => uapi}/asm/irqflags.h (100%)
rename arch/um/include/{ => uapi}/asm/kmap_types.h (100%)
rename arch/um/include/{ => uapi}/asm/kvm_para.h (100%)
rename arch/um/include/{ => uapi}/asm/mmu.h (100%)
rename arch/um/include/{ => uapi}/asm/mmu_context.h (100%)
rename arch/um/include/{ => uapi}/asm/page.h (100%)
rename arch/um/include/{ => uapi}/asm/pgalloc.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable-2level.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable-3level.h (100%)
rename arch/um/include/{ => uapi}/asm/pgtable.h (100%)
rename arch/um/include/{ => uapi}/asm/processor-generic.h (100%)
rename arch/um/include/{ => uapi}/asm/ptrace-generic.h (100%)
rename arch/um/include/{ => uapi}/asm/setup.h (100%)
rename arch/um/include/{ => uapi}/asm/smp.h (100%)
rename arch/um/include/{ => uapi}/asm/sysrq.h (100%)
rename arch/um/include/{ => uapi}/asm/thread_info.h (100%)
rename arch/um/include/{ => uapi}/asm/timex.h (100%)
rename arch/um/include/{ => uapi}/asm/tlb.h (100%)
rename arch/um/include/{ => uapi}/asm/tlbflush.h (100%)
rename arch/um/include/{ => uapi}/asm/uaccess.h (100%)arch/um/include/uapi/asm/Kbuild renamed from arch/um/include/asm/Kbuild +0 -0
arch/um/include/uapi/asm/a.out-core.h renamed from arch/um/include/asm/a.out-core.h +0 -0
arch/um/include/uapi/asm/bugs.h renamed from arch/um/include/asm/bugs.h +0 -0
arch/um/include/uapi/asm/cache.h renamed from arch/um/include/asm/cache.h +0 -0
arch/um/include/uapi/asm/common.lds.S renamed from arch/um/include/asm/common.lds.S +0 -0
arch/um/include/uapi/asm/dma.h renamed from arch/um/include/asm/dma.h +0 -0
arch/um/include/uapi/asm/fixmap.h renamed from arch/um/include/asm/fixmap.h +0 -0
arch/um/include/uapi/asm/irq.h renamed from arch/um/include/asm/irq.h +0 -0
arch/um/include/uapi/asm/irqflags.h renamed from arch/um/include/asm/irqflags.h +0 -0
arch/um/include/uapi/asm/kmap_types.h renamed from arch/um/include/asm/kmap_types.h +0 -0
arch/um/include/uapi/asm/kvm_para.h renamed from arch/um/include/asm/kvm_para.h +0 -0
arch/um/include/uapi/asm/mmu.h renamed from arch/um/include/asm/mmu.h +0 -0
arch/um/include/uapi/asm/mmu_context.h renamed from arch/um/include/asm/mmu_context.h +0 -0
arch/um/include/uapi/asm/page.h renamed from arch/um/include/asm/page.h +0 -0
arch/um/include/uapi/asm/pgalloc.h renamed from arch/um/include/asm/pgalloc.h +0 -0
arch/um/include/uapi/asm/pgtable-2level.h renamed from arch/um/include/asm/pgtable-2level.h +0 -0
arch/um/include/uapi/asm/pgtable-3level.h renamed from arch/um/include/asm/pgtable-3level.h +0 -0
arch/um/include/uapi/asm/pgtable.h renamed from arch/um/include/asm/pgtable.h +0 -0
arch/um/include/uapi/asm/processor-generic.h renamed from arch/um/include/asm/processor-generic.h +0 -0
arch/um/include/uapi/asm/ptrace-generic.h renamed from arch/um/include/asm/ptrace-generic.h +0 -0
arch/um/include/uapi/asm/setup.h renamed from arch/um/include/asm/setup.h +0 -0
arch/um/include/uapi/asm/smp.h renamed from arch/um/include/asm/smp.h +0 -0
arch/um/include/uapi/asm/sysrq.h renamed from arch/um/include/asm/sysrq.h +0 -0
arch/um/include/uapi/asm/thread_info.h renamed from arch/um/include/asm/thread_info.h +0 -0
arch/um/include/uapi/asm/timex.h renamed from arch/um/include/asm/timex.h +0 -0
arch/um/include/uapi/asm/tlb.h renamed from arch/um/include/asm/tlb.h +0 -0
arch/um/include/uapi/asm/tlbflush.h renamed from arch/um/include/asm/tlbflush.h +0 -0
arch/um/include/uapi/asm/uaccess.h renamed from arch/um/include/asm/uaccess.h +0 -0
Signature · 11 lines
1.7.10.4 ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ User-mode-linux-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Richard, Jeff, David,
Does the following fix look valid to you? Thanks!
arch/um/include/uapi/asm/uaccess.h
Quoted 206 lines · Florian Fainelli
Commit
10b63956(UAPI: Plumb the UAPI Kbuilds into the user header installation and checking) breaks UML makeheaders_installwith the following:$ ARCH=um make headers_install CHK include/generated/uapi/linux/version.h UPD include/generated/uapi/linux/version.h HOSTCC scripts/basic/fixdep WRAP arch/um/include/generated/asm/bug.h [snip] WRAP arch/um/include/generated/asm/trace_clock.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_32.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_64.h SYSHDR arch/x86/syscalls/../include/generated/uapi/asm/unistd_x32.h SYSTBL arch/x86/syscalls/../include/generated/asm/syscalls_32.h HOSTCC scripts/unifdef Makefile:912: *** Headers not exportable for the um architecture. Stop. zsh: exit 2 ARCH=um make headers_installThe reason for that is because the top-level
Makefiledoes the following:$(if $(wildcard $(srctree)/arch/$(hdr-arch)/include/uapi/asm/Kbuild),, \ $(error Headers not exportable for the $(SRCARCH) architecture))we end-up in the else part of the $(if) statement because UML still uses the old path in
arch/um/include/asm/Kbuild. This patch fixes the issue by moving the header files to be inarch/um/include/uapi/asm/thus makingheaders_install(and other make targets checking for uapi) to succeed.Signed-off-by Florian Fainelli <[email protected]>---
Richard, this is applicable to 3.7 onwards, I will submit per-version patches if you want to. Thanks!arch/um/include/{ => uapi}/asm/Kbuild | 0 arch/um/include/{ => uapi}/asm/a.out-core.h | 0 arch/um/include/{ => uapi}/asm/bugs.h | 0 arch/um/include/{ => uapi}/asm/cache.h | 0 arch/um/include/{ => uapi}/asm/common.lds.S | 0 arch/um/include/{ => uapi}/asm/dma.h | 0 arch/um/include/{ => uapi}/asm/fixmap.h | 0 arch/um/include/{ => uapi}/asm/irq.h | 0 arch/um/include/{ => uapi}/asm/irqflags.h | 0 arch/um/include/{ => uapi}/asm/kmap_types.h | 0 arch/um/include/{ => uapi}/asm/kvm_para.h | 0 arch/um/include/{ => uapi}/asm/mmu.h | 0 arch/um/include/{ => uapi}/asm/mmu_context.h | 0 arch/um/include/{ => uapi}/asm/page.h | 0 arch/um/include/{ => uapi}/asm/pgalloc.h | 0 arch/um/include/{ => uapi}/asm/pgtable-2level.h | 0 arch/um/include/{ => uapi}/asm/pgtable-3level.h | 0 arch/um/include/{ => uapi}/asm/pgtable.h | 0 arch/um/include/{ => uapi}/asm/processor-generic.h | 0 arch/um/include/{ => uapi}/asm/ptrace-generic.h | 0 arch/um/include/{ => uapi}/asm/setup.h | 0 arch/um/include/{ => uapi}/asm/smp.h | 0 arch/um/include/{ => uapi}/asm/sysrq.h | 0 arch/um/include/{ => uapi}/asm/thread_info.h | 0 arch/um/include/{ => uapi}/asm/timex.h | 0 arch/um/include/{ => uapi}/asm/tlb.h | 0 arch/um/include/{ => uapi}/asm/tlbflush.h | 0 arch/um/include/{ => uapi}/asm/uaccess.h | 0 28 files changed, 0 insertions(+), 0 deletions(-)rename
arch/um/include/{=> uapi}/asm/Kbuild (100%) renamearch/um/include/{=>uapi}/asm/a.out-core.h(100%) renamearch/um/include/{=>uapi}/asm/bugs.h(100%) renamearch/um/include/{=>uapi}/asm/cache.h(100%) renamearch/um/include/{=>uapi}/asm/common.lds.S(100%) renamearch/um/include/{=>uapi}/asm/dma.h(100%) renamearch/um/include/{=>uapi}/asm/fixmap.h(100%) renamearch/um/include/{=>uapi}/asm/irq.h(100%) renamearch/um/include/{=>uapi}/asm/irqflags.h(100%) renamearch/um/include/{=>uapi}/asm/kmap_types.h(100%) renamearch/um/include/{=>uapi}/asm/kvm_para.h(100%) renamearch/um/include/{=>uapi}/asm/mmu.h(100%) renamearch/um/include/{=>uapi}/asm/mmu_context.h(100%) renamearch/um/include/{=>uapi}/asm/page.h(100%) renamearch/um/include/{=>uapi}/asm/pgalloc.h(100%) renamearch/um/include/{=>uapi}/asm/pgtable-2level.h(100%) renamearch/um/include/{=>uapi}/asm/pgtable-3level.h(100%) renamearch/um/include/{=>uapi}/asm/pgtable.h(100%) renamearch/um/include/{=>uapi}/asm/processor-generic.h(100%) renamearch/um/include/{=>uapi}/asm/ptrace-generic.h(100%) renamearch/um/include/{=>uapi}/asm/setup.h(100%) renamearch/um/include/{=>uapi}/asm/smp.h(100%) renamearch/um/include/{=>uapi}/asm/sysrq.h(100%) renamearch/um/include/{=>uapi}/asm/thread_info.h(100%) renamearch/um/include/{=>uapi}/asm/timex.h(100%) renamearch/um/include/{=>uapi}/asm/tlb.h(100%) renamearch/um/include/{=>uapi}/asm/tlbflush.h(100%) renamearch/um/include/{=>uapi}/asm/uaccess.h(100%)arch/um/include/uapi/asm/Kbuild renamed from arch/um/include/asm/Kbuild +0
-0arch/um/include/uapi/asm/a.out-core.h renamed from arch/um/include/asm/a.out-core.h +0
-0arch/um/include/uapi/asm/bugs.h renamed from arch/um/include/asm/bugs.h +0
-0arch/um/include/uapi/asm/cache.h renamed from arch/um/include/asm/cache.h +0
-0arch/um/include/uapi/asm/common.lds.S renamed from arch/um/include/asm/common.lds.S +0
-0arch/um/include/uapi/asm/dma.h renamed from arch/um/include/asm/dma.h +0
-0arch/um/include/uapi/asm/fixmap.h renamed from arch/um/include/asm/fixmap.h +0
-0arch/um/include/uapi/asm/irq.h renamed from arch/um/include/asm/irq.h +0
-0arch/um/include/uapi/asm/irqflags.h renamed from arch/um/include/asm/irqflags.h +0
-0arch/um/include/uapi/asm/kmap_types.h renamed from arch/um/include/asm/kmap_types.h +0
-0arch/um/include/uapi/asm/kvm_para.h renamed from arch/um/include/asm/kvm_para.h +0
-0arch/um/include/uapi/asm/mmu.h renamed from arch/um/include/asm/mmu.h +0
-0arch/um/include/uapi/asm/mmu_context.h renamed from arch/um/include/asm/mmu_context.h +0
-0arch/um/include/uapi/asm/page.h renamed from arch/um/include/asm/page.h +0
-0arch/um/include/uapi/asm/pgalloc.h renamed from arch/um/include/asm/pgalloc.h +0
-0arch/um/include/uapi/asm/pgtable-2level.h renamed from arch/um/include/asm/pgtable-2level.h +0
-0arch/um/include/uapi/asm/pgtable-3level.h renamed from arch/um/include/asm/pgtable-3level.h +0
-0arch/um/include/uapi/asm/pgtable.h renamed from arch/um/include/asm/pgtable.h +0
-0arch/um/include/uapi/asm/processor-generic.h renamed from arch/um/include/asm/processor-generic.h +0
-0arch/um/include/uapi/asm/ptrace-generic.h renamed from arch/um/include/asm/ptrace-generic.h +0
-0arch/um/include/uapi/asm/setup.h renamed from arch/um/include/asm/setup.h +0
-0arch/um/include/uapi/asm/smp.h renamed from arch/um/include/asm/smp.h +0
-0arch/um/include/uapi/asm/sysrq.h renamed from arch/um/include/asm/sysrq.h +0
-0arch/um/include/uapi/asm/thread_info.h renamed from arch/um/include/asm/thread_info.h +0
-0arch/um/include/uapi/asm/timex.h renamed from arch/um/include/asm/timex.h +0
-0arch/um/include/uapi/asm/tlb.h renamed from arch/um/include/asm/tlb.h +0
-0arch/um/include/uapi/asm/tlbflush.h renamed from arch/um/include/asm/tlbflush.h +0
-0arch/um/include/uapi/asm/uaccess.h renamed from arch/um/include/asm/uaccess.h +0
-0
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Richard Weinberger
maintainerAm Tue, 19 Mar 2013 16:03:40 +0100
schrieb Florian Fainelli <[email protected]>:
Quoted 3 lines
Richard, Jeff, David,
Does the following fix look valid to you? Thanks!
Please give me more than 48h to review a patch. :)
I'm very busy with $DAYJOB and UML is currently only a private project.
Thanks,
//richard
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 3 lines · Florian Fainelli
Commit
10b63956(UAPI: Plumb the UAPI Kbuilds into the user header installation and checking) breaks UML makeheaders_installwith the following:
Ummm... Why would you do that? Surely UML doesn't have its own userspace, but rather borrows from the host arch?
David
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 8 lines · David Howells
Quoted 3 lines · Florian Fainelli
Commit
10b63956(UAPI: Plumb the UAPI Kbuilds into the user header installation and checking) breaks UML makeheaders_installwith the following:Ummm... Why would you do that? Surely UML doesn't have its own userspace, but rather borrows from the host arch?
Well, first because it used to work and second because I build toolchains which have little to nothing in common with the host it is running on (different libc etc...). I can certainly add an exception to the build system telling it not to try to make headers_install for UML. --
Florian
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 7 lines · Florian Fainelli
Quoted 6 lines · David Howells
Quoted 3 lines · Florian Fainelli
Commit
10b63956(UAPI: Plumb the UAPI Kbuilds into the user header installation and checking) breaks UML makeheaders_installwith the following:
Quoted 8 lines
Quoted 3 lines
Ummm... Why would you do that? Surely UML doesn't have its own userspace,
but rather borrows from the host arch?Well, first because it used to work and second because I build toolchains which have little to nothing in common with the host it is running on (different libc etc...). I can certainly add an exception to the build system telling it not to try to make
headers_installfor UML.
David, am I completely irrelevant here or do you think this should indeed need fixing?
Thanks!
--
Florian
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Quoted 2 lines · Florian Fainelli
David, am I completely irrelevant here or do you think this should indeed need fixing?
I think headers installation for UM is pointless, but that's just my opinion.
David
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
Richard Weinberger
maintainerAm 04.04.2013 16:09, schrieb David Howells:
Quoted 6 lines
Quoted 2 lines · Florian Fainelli
David, am I completely irrelevant here or do you think this should indeed need fixing?
I think headers installation for UM is pointless, but that's just my opinion.
Same here. :)
Florian, does it break something for you?
Thanks,
//richard
------------------------------------------------------------------------------
Minimize network downtime and maximize team effectiveness. Reduce network management and security costs.Learn how to hire the most talented Cisco Certified professionals. Visit the Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
_______________________________________________
User-mode-linux-devel mailing list [email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel