Re: lots of segmentation faults ... why ?

From: Andrzej Krzysztofowicz (ankry@pg.gda.pl)
Date: Sat Jul 29 2000 - 05:10:13 EST


> I found gcc-2.95.2 to generate a very
> unstable 2.2.x kernel. All kernels but the very latest 2.4.x (2.3.??)
> either did not compile or were not stable when compiled with the newer
> compilers. Although, I found I could not compile a 2.4.x kernel with
> the gcc-2.7.2.3 compiler but it would compile with egcs-1.1.2, so
> apparently we are finally not stuck with the old compiler with the
> newest kernels.

Could you explain your problems with gcc-2.7.2.3, please ?
Do you mean a lot of warnings from pgtable.h ? They are meaningless
(compiler bug). However they may be removed applying the following patch:

diff -u --recursive linux-2.4test4-6/include/asm-i386/pgtable.h linux/include/asm-i386/pgtable.h
--- linux-2.4test4-6/include/asm-i386/pgtable.h Fri Jul 14 00:11:50 2000
+++ linux/include/asm-i386/pgtable.h Fri Jul 14 00:19:05 2000
@@ -158,7 +158,12 @@
 
 #define _PAGE_TABLE (_PAGE_PRESENT | _PAGE_RW | _PAGE_USER | _PAGE_ACCESSED | _PAGE_DIRTY)
 #define _KERNPG_TABLE (_PAGE_PRESENT | _PAGE_RW | _PAGE_ACCESSED | _PAGE_DIRTY)
-#define _PAGE_CHG_MASK (PTE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY)
+
+#ifdef CONFIG_X86_PAE
+# define _PAGE_CHG_MASK (PTE_MASK | (unsigned long long)(_PAGE_ACCESSED | _PAGE_DIRTY))
+#else
+# define _PAGE_CHG_MASK (PTE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY)
+#endif
 
 #define PAGE_NONE __pgprot(_PAGE_PROTNONE | _PAGE_ACCESSED)
 #define PAGE_SHARED __pgprot(_PAGE_PRESENT | _PAGE_RW | _PAGE_USER | _PAGE_ACCESSED)

It does not inflict the generated code, but removes compiler warnings.
If you need over 4GB memory support - it is a real problem...

The gcc-2.7.2.3 compiled 2.4.0test kernels I use on some machines seem to be
quite stable.

--
=======================================================================
  Andrzej M. Krzysztofowicz               ankry@mif.pg.gda.pl
  phone (48)(58) 347 14 61
Faculty of Applied Phys. & Math.,   Technical University of Gdansk

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:29 EST