Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | support configurable page size on mips, powerpc and microblaze | Szabolcs Nagy | 2013-09-15 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | | PAGE_SIZE was hardcoded to 4096, which is historically what most systems use, but on several archs it is a kernel config parameter, user space can only know it at execution time from the aux vector. PAGE_SIZE and PAGESIZE are not defined on archs where page size is a runtime parameter, applications should use sysconf(_SC_PAGE_SIZE) to query it. Internally libc code defines PAGE_SIZE to libc.page_size, which is set to aux[AT_PAGESZ] in __init_libc and early in __dynlink as well. (Note that libc.page_size can be accessed without GOT, ie. before relocations are done) Some fpathconf settings are hardcoded to 4096, these should be actually queried from the filesystem using statfs. | ||||
* | in pthread_getattr_np, use mremap rather than madvise to measure stack | Rich Felker | 2013-07-31 | 1 | -1/+2 |
| | | | | | | | | | | | the original motivation for this patch was that qemu (and possibly other syscall emulators) nop out madvise, resulting in an infinite loop. however, there is another benefit to this change: madvise may actually undo an explicit madvise the application intended for its stack, whereas the mremap operation is a true nop. the logic here is that mremap must fail if it cannot resize the mapping in-place, and the caller knows that it cannot resize in-place because it knows the next page of virtual memory is already occupied. | ||||
* | implement pthread_getattr_np | Rich Felker | 2013-03-31 | 1 | -0/+21 |
this function is mainly (purely?) for obtaining stack address information, but we also provide the detach state since it's easy to do anyway. |