Messages in this thread | | | Date | Thu, 15 Jan 2009 20:33:24 +0300 | From | Cyrill Gorcunov <> | Subject | Re: [patch 3/5] x86: headers cleanup - ptrace-abi.h |
| |
[H. Peter Anvin - Thu, Jan 15, 2009 at 08:52:24AM -0800] | Cyrill Gorcunov wrote: | > | > Hi Markus, | > | > since it's supposed to be visible by userspace then we | > should just remove this CONFIG_X86_PTRACE_BTS so if userspace | > app has a reference to ptrace_bts_config but kernel in turn has | > this feature turned off -- the uerspace app shouldn't fail | > while being compiling. | > | | Well, for userspace, the kernel configuration doesn't matter: the | CONFIG_* macros *never* exist.
Let me explain more detailed what I've meant with my prev message. Markus said that ptrace_bts_config is supposed to be visible in userspace, right? So I've a program which is built under kernel with CONFIG_X86_PTRACE_BTS turned on. Then I rebuild my kernel with CONFIG_X86_PTRACE_BTS turned off. Then I decide to recompile my program for some reason _and_ compilation shouldn't fail because of lack of ptrace_bts_config struct. So for userspace kernel configuration does matter if it touches data being referenced from user-side. BUT all I said is valid (at least I hop so) if _only_ ptrace_bts_config is supposed to be visible to user-space programs.
| | This would be yet another good reason why having them be always defined | and 0/1 instead would be such an improvement, but we're not there. |
oh, that reminds me autoconf horror :) I don't know if it possible but we could have some common/base file with all CONFIG_ set to 0/1 which any header being exported to userspace should include, or we could modify unifdef to process headers in fashion: scan the header, insert CONFIG_'s refered in the header with value 0/1 at top of the header. Not sure if it worth it (too many files are to be touched).
| -hpa | | -- | H. Peter Anvin, Intel Open Source Technology Center | I work for Intel. I don't speak on their behalf. |
- Cyrill -
| |