-
Simon Marlow authored
When distinguishing between code & data pointers, rather than testing for membership of the text section, test for not membership of one of the data sections. The reason for this change is that testing for membership of the text section was fragile: we could only test whether a value was smaller than the end address, because there doesn't appear to be a portable way to find the beginning of the text section. Indeed, the test breaks on very recent Linux kernels which mmap() memory below the program text. In fact, the reversed test may be faster because the expected common case is when the pointer is into the dynamic heap, and we eliminate these case immediately in the new test. A quick test shows no measurable performance difference with the change. MERGE TO STABLE
b8684d58