On Wed, 27 Aug 2003, Alexandre Julliard wrote:
: It's not really a question of shuffling back and forth, it's that : different users have different kernels; so if you want to ship a : binary that works for everybody, with your method you have to stick to : the lowest common denominator. With run-time checks you can have a : binary that takes advantage of new kernel features, while still : running everywhere.
That's why there is a "#ifdef MAP_TRYFIXED". If this is available at compile time, it is known to be available at runtime regardless of CPU platform -- it's not an optional kernel feature.
(Besides all this, detecting this particular feature at runtime is ... difficult at best. The "protected" memory range is different depending on the CPU platform.)