[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: w3m (3)



kayです。

  思ったより手間取りましたが、alpha で動くようになりました。

  変更量は大したことはなかったのですが、gcconfig.h の直観的に分かりに
くい構造と LP64 の罠にはまってしまいました:-)

  patch-ac の置換えと patch-ah を追加しました。これで、i386, sparc で
もコンパイルに成功しています。

  起動出来ることを確認するためにちょっと使ってみた程度ですので、これで
問題がないかどうかは良く分かりません。

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	patches/patch-ac
#	patches/patch-ah
#
echo x - patches/patch-ac
sed 's/^X//' >patches/patch-ac << 'END-of-patches/patch-ac'
X--- gc/gcconfig.h.orig	Wed May 19 17:38:55 1999
X+++ gc/gcconfig.h	Sat Jun 12 18:51:03 1999
X@@ -27,6 +27,12 @@
X #    define LINUX
X # endif
X 
X+/* NetBSD no longer defines symbol unix */
X+# if defined(__NetBSD__)
X+#    define NETBSD
X+#    define unix
X+# endif
X+
X /* Determine the machine type: */
X # if defined(sun) && defined(mc68000)
X #    define M68K
X@@ -45,7 +51,10 @@
X # endif
X # if defined(__NetBSD__) && defined(m68k)
X #    define M68K
X-#    define NETBSD
X+#    define mach_type_known
X+# endif
X+# if defined(__NetBSD__) && defined(__powerpc__)
X+#    define POWERPC
X #    define mach_type_known
X # endif
X # if defined(vax)
X@@ -100,11 +109,15 @@
X #     endif
X #   define mach_type_known
X # endif
X-# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux)
X+# if defined(sparc) && defined(unix) && !defined(sun) && !defined(linux) && !defined(__NetBSD__)
X #   define SPARC
X #   define DRSNX
X #   define mach_type_known
X # endif
X+# if defined(__NetBSD__) && defined(__sparc__)
X+#    define SPARC
X+#    define mach_type_known
X+# endif
X # if defined(_IBMR2)
X #   define RS6000
X #   define mach_type_known
X@@ -148,7 +161,7 @@
X # endif
X # if defined(__alpha) || defined(__alpha__)
X #   define ALPHA
X-#   if !defined(LINUX)
X+#   if !defined(LINUX) && !defined(NETBSD)
X #     define OSF1	/* a.k.a Digital Unix */
X #   endif
X #   define mach_type_known
X@@ -190,7 +203,6 @@
X # endif
X # if defined(__NetBSD__) && defined(i386)
X #   define I386
X-#   define NETBSD
X #   define mach_type_known
X # endif
X # if defined(bsdi) && defined(i386)
X@@ -486,8 +498,8 @@
X 
X # ifdef POWERPC
X #   define MACH_TYPE "POWERPC"
X-#   define ALIGNMENT 2
X #   ifdef MACOS
X+#     define ALIGNMENT 2
X #     ifndef __LOWMEM__
X #     include <LowMem.h>
X #     endif
X@@ -497,6 +509,7 @@
X #     define DATAEND  /* not needed */
X #   endif
X #   ifdef LINUX
X+#     define ALIGNMENT 2
X #     define OS_TYPE "LINUX"
X #     define HEURISTIC1
X #     undef STACK_GRAN
X@@ -505,6 +518,14 @@
X       extern int _end;
X #     define DATAEND (&_end)
X #   endif
X+#   ifdef NETBSD
X+#     define ALIGNMENT 4
X+#     define OS_TYPE "NETBSD"
X+#     define HEURISTIC2
X+      extern char etext;
X+#     define DATASTART GC_data_start
X+#     define DYNAMIC_LOADING
X+#   endif
X # endif
X 
X # ifdef VAX
X@@ -603,6 +624,11 @@
X #     define SVR4
X #     define STACKBOTTOM ((ptr_t) 0xf0000000)
X #   endif
X+#   ifdef NETBSD
X+#     define OS_TYPE "NETBSD"
X+#	define HEURISTIC2
X+#	define DATASTART ((ptr_t)(&etext))
X+#   endif
X # endif
X 
X # ifdef I386
X@@ -889,6 +915,16 @@
X # ifdef ALPHA
X #   define MACH_TYPE "ALPHA"
X #   define ALIGNMENT 8
X+#   ifdef NETBSD
X+#	define OS_TYPE "NETBSD"
X+#	define HEURISTIC2
X+#	define DATASTART GC_data_start
X+#	define ELFCLASS32 32
X+#	define ELFCLASS64 64
X+#	define ELF_CLASS ELFCLASS64
X+#   	define CPP_WORDSZ 64
X+#       define DYNAMIC_LOADING
X+#   endif
X #   ifdef OSF1
X #	define OS_TYPE "OSF1"
X #   	define DATASTART ((ptr_t) 0x140000000)
X@@ -1052,7 +1088,7 @@
X 	/* Use setjmp based hack to mark from callee-save registers. */
X #	define USE_GENERIC_PUSH_REGS
X # endif
X-# if defined(SPARC) && !defined(LINUX)
X+# if defined(SPARC) && !defined(LINUX) && !defined(NETBSD)
X #   define SAVE_CALL_CHAIN
X #   define ASM_CLEAR_CODE	/* Stack clearing is crucial, and we 	*/
X 				/* include assembly code to do it well.	*/
END-of-patches/patch-ac
echo x - patches/patch-ah
sed 's/^X//' >patches/patch-ah << 'END-of-patches/patch-ah'
X--- gc/Makefile.orig	Thu Jun  3 10:05:48 1999
X+++ gc/Makefile	Sat Jun 12 11:34:44 1999
X@@ -10,8 +10,8 @@
X ABI_FLAG=
X CC=cc $(ABI_FLAG)
X CXX=CC $(ABI_FLAG)
X-AS=as $(ABI_FLAG)
X-#AS=gcc -c -x assembler-with-cpp $(ABI_FLAG)
X+#AS=as $(ABI_FLAG)
X+AS=gcc -c -x assembler-with-cpp $(ABI_FLAG)
X #  The above doesn't work with gas, which doesn't run cpp.
X #  Define AS as `gcc -c -x assembler-with-cpp' instead.
X #  Under Irix 6, you will have to specify the ABI (-o32, -n32, or -64)
END-of-patches/patch-ah
exit
--
吉田恵介@川崎市高津区千年 (kay@kaynet.or.jp)
ホームページ http://www.kaynet.or.jp/~kay/