Browse Source

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 năm trước cách đây
mục cha
commit
2b553bc16f
1 tập tin đã thay đổi với 5 bổ sung2 xóa
  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