Mozilla Edit

  • 結論
    いいところまでは行くんだけど、動きませんでした。
    しかし、mozilla依存でビルドできなったパッケージがビルド可能になったのが吉。
    「apt-get install mozilla」で動かない画面が拝めます。汗
    情報求む。

  • 詳細
    • インタフェース周りは動作する。
    • URL入力は可能だが、mozillaエンジンにそれらが伝わって無いみたい。
    • gccのバージョン(3.4.4 or 4.0.2)、最適化オプション(-O or -O2)で挙動が変化する。
      • gcc-3.4(3.4.4) -O 以外の組み合わせはsegmentation faultします。


        mozilla.png

  • ソースおよびpatch
    http://eggplant.ddo.jp/www/download/debian26/source/ に置いています。
  • patch
    • debian/patches/zsh_patch
diff -urpN mozilla.orig/nsprpub/pr/include/md/_linux.cfg mozilla/nsprpub/pr/include/md/_linux.cfg
--- mozilla.orig/nsprpub/pr/include/md/_linux.cfg	2005-11-22 19:20:39.000000000 +0900
+++ mozilla/nsprpub/pr/include/md/_linux.cfg	2005-11-22 19:24:11.570000000 +0900
@@ -415,6 +415,51 @@
 #define PR_BYTES_PER_WORD_LOG2   2
 #define PR_BYTES_PER_DWORD_LOG2  3
 
+#elif defined(__sh__)
+
+#define IS_LITTLE_ENDIAN 1
+#undef  IS_BIG_ENDIAN
+
+#define PR_BYTES_PER_BYTE   1
+#define PR_BYTES_PER_SHORT  2
+#define PR_BYTES_PER_INT    4
+#define PR_BYTES_PER_INT64  8
+#define PR_BYTES_PER_LONG   4
+#define PR_BYTES_PER_FLOAT  4
+#define PR_BYTES_PER_DOUBLE 8
+#define PR_BYTES_PER_WORD   4
+#define PR_BYTES_PER_DWORD  8
+
+#define PR_BITS_PER_BYTE    8
+#define PR_BITS_PER_SHORT   16
+#define PR_BITS_PER_INT     32
+#define PR_BITS_PER_INT64   64
+#define PR_BITS_PER_LONG    32
+#define PR_BITS_PER_FLOAT   32
+#define PR_BITS_PER_DOUBLE  64
+#define PR_BITS_PER_WORD    32
+
+#define PR_BITS_PER_BYTE_LOG2   3
+#define PR_BITS_PER_SHORT_LOG2  4
+#define PR_BITS_PER_INT_LOG2    5
+#define PR_BITS_PER_INT64_LOG2  6
+#define PR_BITS_PER_LONG_LOG2   5
+#define PR_BITS_PER_FLOAT_LOG2  5
+#define PR_BITS_PER_DOUBLE_LOG2 6
+#define PR_BITS_PER_WORD_LOG2   5
+
+#define PR_ALIGN_OF_SHORT   2
+#define PR_ALIGN_OF_INT     4
+#define PR_ALIGN_OF_LONG    4
+#define PR_ALIGN_OF_INT64   8
+#define PR_ALIGN_OF_FLOAT   4
+#define PR_ALIGN_OF_DOUBLE  8
+#define PR_ALIGN_OF_POINTER 4
+#define PR_ALIGN_OF_WORD    4
+
+#define PR_BYTES_PER_WORD_LOG2   2
+#define PR_BYTES_PER_DWORD_LOG2  3
+
 #elif defined(__arm__)
 
 #define IS_LITTLE_ENDIAN 1
diff -urpN mozilla.orig/nsprpub/pr/include/md/_linux.h mozilla/nsprpub/pr/include/md/_linux.h
--- mozilla.orig/nsprpub/pr/include/md/_linux.h	2005-05-05 03:05:19.000000000 +0900
+++ mozilla/nsprpub/pr/include/md/_linux.h	2005-11-22 19:26:26.500000000 +0900
@@ -59,6 +59,8 @@
 #define _PR_SI_ARCHITECTURE "x86"
 #elif defined(__mips__)
 #define _PR_SI_ARCHITECTURE "mips"
+#elif defined(__sh__)
+#define _PR_SI_ARCHITECTURE "sh"
 #elif defined(__arm__)
 #define _PR_SI_ARCHITECTURE "arm"
 #elif defined(__hppa__)
@@ -285,6 +287,18 @@ extern void _MD_CleanupBeforeExit(void);
 #error "Linux/MIPS pre-glibc2 not supported yet"
 #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
 
+#elif defined(__sh__)
+/* Linux/SH */
+#if defined(__GLIBC__) && __GLIBC__ >= 2
+#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[0].__regs[7]
+#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[0].__regs[6] = (val))
+#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
+#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[0].__regs[6])
+#define _MD_SP_TYPE int
+#else
+#error "Linux/SH pre-glibc2 not supported yet"
+#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
+
 #elif defined(__arm__)
 /* ARM/Linux */
 #if defined(__GLIBC__) && __GLIBC__ >= 2
diff -urpN mozilla.orig/security/coreconf/Linux.mk mozilla/security/coreconf/Linux.mk
--- mozilla.orig/security/coreconf/Linux.mk	2005-11-22 19:20:39.000000000 +0900
+++ mozilla/security/coreconf/Linux.mk	2005-11-22 19:27:52.360000000 +0900
@@ -106,6 +106,10 @@ ifeq ($(OS_TEST),parisc)
        OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
        CPU_ARCH        = hppa
 else
+ifeq ($(OS_TEST),sh4)
+       OS_REL_CFLAGS   = -DLINUX1_2 -D_XOPEN_SOURCE
+       CPU_ARCH        = sh
+else
 	OS_REL_CFLAGS	= -DLINUX1_2 -Di386 -D_XOPEN_SOURCE
 	CPU_ARCH	= x86
 endif
@@ -122,6 +126,7 @@ endif
 endif
 endif
 endif
+endif
 
 
 LIBC_TAG		= _glibc
  • ビルド
    • debian/rules
      gcc-3.4を指定し、かつ単なる-Oオプションでビルドするように修正
      (gcc-4.0ではビルド可能だが、ここまで動作しなかった。)
      # any arch
      OPTFLAGS=-O -DDEBIAN
      CC=gcc-3.4
      CXX=g++-3.4
      EXTRA_OPTIONS=
      
    • freetype-2.1.10以降を使うこと。
      依存関係で意図せずとも、本来そうなるべきであるが…
      landisk:~# dpkg -l | grep freetype
      ii  libfreetype6           2.1.10-1              FreeType 2 font engine, shared library files
      ii  libfreetype6-dev       2.1.10-1              FreeType 2 font engine, development files
      

Firefox Edit

  • 結論
    ビルドは可能だが、segmentation faultします。
    mozillaと全く同じパッチが適用可能。

情報求む Edit

  • 試してないのですが、 -- GreenArt? 2007-01-26 (金) 16:23:34
  • 済みません。書き込み途中で送ってしまいました。。。で、続きなのですが、http://rpm.sh-linux.org/rpm-fc5/に、mozillaのパッケージがありますよ。 -- GreenArt? 2007-01-26 (金) 16:29:56

添付ファイル: filemozilla.png 316件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-04-13 (水) 00:14:38 (4765d)