浏览代码

Do not grovel about in the ELF header for the page size when
running on uClinux, which at runtime uses the FLAT file format.

Eric Andersen 21 年之前
父节点
当前提交
2b553bc16f
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      libc/misc/internals/__uClibc_main.c

+ 5 - 2
libc/misc/internals/__uClibc_main.c

@@ -123,10 +123,10 @@ void __attribute__ ((__noreturn__))
 __uClibc_start_main(int argc, char **argv, char **envp,
 	void (*app_init)(void), void (*app_fini)(void))
 {
+    /* Pull stuff from the ELF header when possible */
+#ifdef __ARCH_HAS_MMU__
     unsigned long *aux_dat;
     Elf32_auxv_t auxvt[AT_EGID + 1];
-
-    /* Pull stuff from the ELF header when possible */
     aux_dat = (unsigned long*)envp;
     while (*aux_dat) {
 	aux_dat++;
@@ -140,6 +140,9 @@ __uClibc_start_main(int argc, char **argv, char **envp,
 	aux_dat += 2;
     }
     _dl_pagesize = (auxvt[AT_PAGESZ].a_un.a_val)? auxvt[AT_PAGESZ].a_un.a_val : 4096;
+#else
+    _dl_pagesize = 4096;
+#endif
 
     /* If we are dynamically linked the shared lib loader already
      * did this for us.  But if we are statically linked, we need