From b20760c02318fa6da228587c401a8b2bb22a1aab Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Sun, 15 Sep 2013 02:00:32 +0000 Subject: support configurable page size on mips, powerpc and microblaze 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. --- src/env/__libc_start_main.c | 1 + 1 file changed, 1 insertion(+) (limited to 'src/env') diff --git a/src/env/__libc_start_main.c b/src/env/__libc_start_main.c index 2a8698bb..73d49327 100644 --- a/src/env/__libc_start_main.c +++ b/src/env/__libc_start_main.c @@ -26,6 +26,7 @@ void __init_libc(char **envp, char *pn) for (i=0; auxv[i]; i+=2) if (auxv[i]