Description of problem:
While working on an upstream backport that required the creation of a new include/asm-x86_64/mach-xen/asm file, binary rpm builds were failing with
HEADER EXPORT WARNINGS:
asm-x86_64/msr.h requires asm/msr-index.h, which does not exist in exported headers
After some investigation I was able to reproduce this by doing the following
1. checkout a git tree of RHEL5.
2. make rh-configs-prep, cp configs/kernel-2.6.18-x86_64-xen.config .config; make -j32
3. 1552 mkdir /tmp/includes
1553 make INSTALL_HDR_PATH=/tmp/includes headers_install
1554 make INSTALL_HDR_PATH=/tmp/includes headers_check
The headers_check command will fail in the *exact* same way as above.
After some further investigation I decided to diff files in /tmp/includes and the git tree. I discovered that included files were not from includes/asm-x86_64/mach-xen/asm but were from includes/asm-x86_64.
For an example of this variance see the exported ptrace.h file and the one in the includes/asm-x86_64/mach-xen/asm directory.
1. We're exporting the wrong things. I don't know how often customers compile against the xen tree ... but I don't want to be around when it does happen.
2. We cannot add new files to includes that require dependencies without getting an error in rpm builds. ie) this prevents us from continuing development.
Version-Release number of selected component (if applicable): 2.6.18-165.el5
How reproducible: 100%
Steps to Reproduce: see above.
Created attachment 359801 [details]
Patch that causes the described problem
Please note that this patch is a beta only (I'm no where near done ...)
Xen build failure:
Created attachment 359802 [details]
diff of ptrace.h in exported and tree
These should be the same.
So, I'm dumb when it comes to the build process. dzickus filled me in on two critical things here.
1. There are kbuild files which indicate what headers are exported, and,
2. The headers that do get exported have the __KERNEL__ sections stripped out so they are different from what is in include/asm...
Operator error :) If only I knew someone who could code...
Clearing out old flags for reporting purposes.