aboutsummaryrefslogtreecommitdiffstats
path: root/Patches
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--Patches/alpha19
-rw-r--r--Patches/armlinux110
-rw-r--r--Patches/ews4800209
-rw-r--r--Patches/hpux1125
-rw-r--r--Patches/linux2.2sparc10
-rw-r--r--Patches/macosx41
-rw-r--r--Patches/macppc147
-rw-r--r--Patches/mipsel184
-rw-r--r--Patches/newsos627
-rw-r--r--Patches/os239
10 files changed, 175 insertions, 636 deletions
diff --git a/Patches/alpha b/Patches/alpha
deleted file mode 100644
index 422cd26..0000000
--- a/Patches/alpha
+++ /dev/null
@@ -1,19 +0,0 @@
-*** gc/Makefile.orig Thu Jun 24 10:08:17 1999
---- gc/Makefile Thu Jun 24 10:08:54 1999
-***************
-*** 10,16 ****
- ABI_FLAG=
- CC=cc $(ABI_FLAG)
- CXX=CC $(ABI_FLAG)
-! AS=as $(ABI_FLAG)
- # The above doesn't work with gas, which doesn't run cpp.
- # Define AS as `gcc -c -x assembler-with-cpp' instead.
- # Under Irix 6, you will have to specify the ABI (-o32, -n32, or -64)
---- 10,16 ----
- ABI_FLAG=
- CC=cc $(ABI_FLAG)
- CXX=CC $(ABI_FLAG)
-! AS=gcc -c -x assembler-with-cpp
- # The above doesn't work with gas, which doesn't run cpp.
- # Define AS as `gcc -c -x assembler-with-cpp' instead.
- # Under Irix 6, you will have to specify the ABI (-o32, -n32, or -64)
diff --git a/Patches/armlinux b/Patches/armlinux
deleted file mode 100644
index 18dd202..0000000
--- a/Patches/armlinux
+++ /dev/null
@@ -1,110 +0,0 @@
-From lars@junk.nocrew.org Tue Mar 7 04:44 EST 2000
-Return-Path: <lars@junk.nocrew.org>
-Received: from ei5sun.yz.yamagata-u.ac.jp (ei5sun.yz.yamagata-u.ac.jp [133.24.114.42])
- by ei5hp710.yz.yamagata-u.ac.jp (8.9.3/8.9.3) with ESMTP id EAA25953
- for <aito@ei5hp710.yz.yamagata-u.ac.jp>; Tue, 7 Mar 2000 04:44:51 -0500 (EST)
-Received: from junk.nocrew.org (mail@[212.73.17.42]) by ei5sun.yz.yamagata-u.ac.jp (8.8.0/3.5Wbeta) with ESMTP id SAA07952 for <aito@ei5sun.yz.yamagata-u.ac.jp>; Tue, 7 Mar 2000 18:54:43 +0900 (JST)
-Received: from lars by junk.nocrew.org with local (Exim 3.03 #1 (Debian))
- for aito@ei5sun.yz.yamagata-u.ac.jp
- id 12SGVE-0001rh-00; Tue, 07 Mar 2000 10:42:08 +0100
-To: aito@ei5sun.yz.yamagata-u.ac.jp
-Subject: ARMLinux patch
-From: lars brinkhoff <lars@nocrew.org>
-Date: 07 Mar 2000 10:42:08 +0100
-Message-ID: <85zosbjevj.fsf@junk.nocrew.org>
-Lines: 89
-User-Agent: Gnus/5.0803 (Gnus v5.8.3) Emacs/20.5
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Sender: lars brinkhoff <lars@junk.nocrew.org>
-
-This patch is an attempt to make w3m version 0.1.6 work in ARMLinux.
-It seems to work well.
-
---- gc/gcconfig.h.org Wed Jan 12 05:23:37 2000
-+++ gc/gcconfig.h Sun Mar 5 14:24:52 2000
-@@ -151,6 +151,10 @@
- # define SPARC
- # define mach_type_known
- # endif
-+# if defined(LINUX) && (defined(__arm__) || defined(arm))
-+# define ARM
-+# define mach_type_known
-+# endif
- # if defined(__alpha) || defined(__alpha__)
- # define ALPHA
- # if !defined(LINUX)
-@@ -985,6 +989,39 @@
- # define DATASTART (ptr_t)GC_SysVGetDataStart(0x10000, &_etext)
- # define DATAEND (&_end)
- # define HEURISTIC2
-+# endif
-+
-+# ifdef ARM
-+# define MACH_TYPE "ARM"
-+# ifdef LINUX
-+# define OS_TYPE "LINUX"
-+# define HEURISTIC1
-+# define STACKBOTTOM ((ptr_t) 0xbffffffc)
-+# ifdef __ELF__
-+# define DYNAMIC_LOADING
-+# include <features.h>
-+# if defined(__GLIBC__) && __GLIBC__ >= 2
-+ extern int __data_start;
-+# define DATASTART ((ptr_t)(&__data_start))
-+# else
-+ extern char **__environ;
-+# define DATASTART ((ptr_t)(&__environ))
-+ /* hideous kludge: __environ is the first */
-+ /* word in crt0.o, and delimits the start */
-+ /* of the data segment, no matter which */
-+ /* ld options were passed through. */
-+ /* We could use _etext instead, but that */
-+ /* would include .rodata, which may */
-+ /* contain large read-only data tables */
-+ /* that we'd rather not scan. */
-+# endif
-+ extern int _end;
-+# define DATAEND (&_end)
-+# else
-+ ARMLinux non elf ?
-+# endif
-+# endif
-+# define ALIGNMENT 4
- # endif
-
- # ifndef STACK_GROWS_UP
-diff -ur gc/mach_dep.c w3m-0.1.6.lars/gc/mach_dep.c
---- gc/mach_dep.c.org Wed Jan 12 05:23:37 2000
-+++ gc/mach_dep.c Thu Jan 27 21:28:39 2000
-@@ -337,7 +337,7 @@
- /* other machines... */
- # if !(defined M68K) && !(defined VAX) && !(defined RT)
- # if !(defined SPARC) && !(defined I386) && !(defined NS32K)
--# if !defined(POWERPC) && !defined(UTS4)
-+# if !defined(POWERPC) && !defined(UTS4) && !defined(ARM)
- --> bad news <--
- # endif
- # endif
-diff -ur w3m/gc/os_dep.c w3m-0.1.6.lars/gc/os_dep.c
---- gc/os_dep.c.org Wed Jan 12 05:23:37 2000
-+++ gc/os_dep.c Thu Jan 27 21:37:27 2000
-@@ -72,7 +72,7 @@
- # define NEED_FIND_LIMIT
- # endif
-
--# if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA))
-+# if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA) || defined (ARM))
- # define NEED_FIND_LIMIT
- # endif
-
-@@ -139,7 +139,7 @@
- # define OPT_PROT_EXEC 0
- #endif
-
--#if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA))
-+#if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA) || defined(ARM))
- /* The I386 case can be handled without a search. The Alpha case */
- /* used to be handled differently as well, but the rules changed */
- /* for recent Linux versions. This seems to be the easiest way to */
-
diff --git a/Patches/ews4800 b/Patches/ews4800
index 954523a..979d6a6 100644
--- a/Patches/ews4800
+++ b/Patches/ews4800
@@ -1,34 +1,175 @@
---- XMakefile.orig Mon Mar 19 10:47:56 2001
-+++ XMakefile Mon Mar 19 21:03:34 2001
-@@ -65,7 +65,7 @@
- $(CC) $(CFLAGS) -o $(HELPER) w3mhelperpanel.o $(LIBS)
-
- gc/gc.a:
-- cd gc; make CC='$(CC)' CFLAGS='$(GCCFLAGS)'
-+ cd gc; make CC='$(CC)' CFLAGS='$(GCCFLAGS) -Dmips'
-
- install: $(TARGETS)
- -$(MKDIR) $(DESTDIR)$(BIN_DIR)
---- gc/Makefile.orig Tue Jan 4 14:46:50 2000
-+++ gc/Makefile Thu Mar 22 18:10:10 2001
-@@ -7,7 +7,7 @@
- # and runs some tests of collector and cords. Does not add cords or
- # c++ interface to gc.a
- # cord/de - builds dumb editor based on cords.
--ABI_FLAG=
-+ABI_FLAG=-Kconform_pic
- CC=cc $(ABI_FLAG)
- CXX=CC $(ABI_FLAG)
- AS=as $(ABI_FLAG)
---- gc/gcconfig.h.orig Tue Jun 6 14:39:29 2000
-+++ gc/gcconfig.h Mon Mar 19 21:02:51 2001
-@@ -64,7 +64,8 @@
- # endif
- # if defined(mips) || defined(__mips)
- # define MIPS
--# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
-+# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__) ||\
-+ defined(nec_ews)
- # define ULTRIX
- # else
- # if !defined(LINUX)
+diff -bcrN gc.org/doc/README.ews4800 gc/doc/README.ews4800
+*** gc.org/doc/README.ews4800 Thu Jan 1 09:00:00 1970
+--- gc/doc/README.ews4800 Wed Jul 25 17:38:57 2001
+***************
+*** 0 ****
+--- 1,75 ----
++ GC on EWS4800
++ -------------
++
++ 1. About EWS4800
++ EWS4800 is 32bit/64bit workstation.
++
++ Vender: NEC Corporation
++ OS: UX/4800 R9.* - R13.* (SystemV R4.2)
++ CPU: R4000, R4400, R10000 (MIPS)
++
++ 2. Compiler
++
++ 32bit:
++ Use ANSI C compiler.
++ CC = /usr/abiccs/bin/cc
++
++ 64bit:
++ Use 64bit ANSI C compiler.
++ CC = /usr/ccs64/bin/cc
++ AR = /usr/ccs64/bin/ar
++
++ 3. ELF file format
++ *** Caution: The following infomation is empirical. ***
++
++ 32bit:
++ ELF file has an unique format. (See a.out(4) and end(3C).)
++
++ &_start
++ : text segment
++ &etext
++ DATASTART
++ : data segment (initialized)
++ &edata
++ DATASTART2
++ : data segment (uninitialized)
++ &end
++
++ Here, DATASTART and DATASTART2 are macros of GC, and are defined as
++ the following equations. (See include/private/gcconfig.h.)
++ The algorithm for DATASTART is similar with the function
++ GC_SysVGetDataStart() in os_dep.c.
++
++ DATASTART = ((&etext + 0x3ffff) & ~0x3ffff) + (&etext & 0xffff)
++
++ Dynamically linked:
++ DATASTART2 = (&_gp + 0x8000 + 0x3ffff) & ~0x3ffff
++
++ Statically linked:
++ DATASTART2 = &edata
++
++ GC has to check addresses both between DATASTART and &edata, and
++ between DATASTART2 and &end. If a program accesses between &etext
++ and DATASTART, or between &edata and DATASTART2, the segmentation
++ error occurs and the program stops.
++
++ If a program is statically linked, there is not a gap between
++ &edata and DATASTART2. The global symbol &_DYNAMIC_LINKING is used
++ for the detection.
++
++ 64bit:
++ ELF file has a simple format. (See end(3C).)
++
++ _ftext
++ : text segment
++ _etext
++ _fdata = DATASTART
++ : data segment (initialized)
++ _edata
++ _fbss
++ : data segment (uninitialized)
++ _end = DATAEND
++
++ --
++ Hironori SAKAMOTO <hsaka@mth.biglobe.ne.jp>
++
+diff -bcrN gc.org/include/private/gcconfig.h gc/include/private/gcconfig.h
+*** gc.org/include/private/gcconfig.h Sun Jul 1 06:29:27 2001
+--- gc/include/private/gcconfig.h Wed Jul 25 17:38:57 2001
+***************
+*** 75,83 ****
+ # endif
+ # define mach_type_known
+ # endif
+! # if defined(mips) || defined(__mips)
+ # define MIPS
+! # if !defined(LINUX)
+ # if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
+ # define ULTRIX
+ # else
+--- 75,86 ----
+ # endif
+ # define mach_type_known
+ # endif
+! # if defined(mips) || defined(__mips) || defined(_mips)
+ # define MIPS
+! # if defined(nec_ews) || defined(_nec_ews)
+! # define EWS4800
+! # endif
+! # if !defined(LINUX) && !defined(EWS4800)
+ # if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
+ # define ULTRIX
+ # else
+***************
+*** 1083,1088 ****
+--- 1086,1114 ----
+ /* instead. But some kernel versions seem to give the wrong */
+ /* value from /proc. */
+ # endif /* Linux */
++ # ifdef EWS4800
++ # define HEURISTIC2
++ # if defined(_MIPS_SZPTR) && (_MIPS_SZPTR == 64)
++ extern int _fdata[], _end[];
++ # define DATASTART ((ptr_t)_fdata)
++ # define DATAEND ((ptr_t)_end)
++ # define CPP_WORDSZ _MIPS_SZPTR
++ # define ALIGNMENT (_MIPS_SZPTR/8)
++ # else
++ extern int etext, edata, end;
++ extern int _DYNAMIC_LINKING, _gp;
++ # define DATASTART ((ptr_t)((((word)&etext + 0x3ffff) & ~0x3ffff) \
++ + ((word)&etext & 0xffff)))
++ # define DATAEND (&edata)
++ # define DATASTART2 (&_DYNAMIC_LINKING \
++ ? (ptr_t)(((word)&_gp + 0x8000 + 0x3ffff) & ~0x3ffff) \
++ : (ptr_t)&edata)
++ # define DATAEND2 (&end)
++ # define ALIGNMENT 4
++ # endif
++ # define OS_TYPE "EWS4800"
++ # define USE_GENERIC_PUSH_REGS 1
++ # endif
+ # ifdef ULTRIX
+ # define HEURISTIC2
+ # define DATASTART (ptr_t)0x10000000
+diff -bcrN gc.org/mach_dep.c gc/mach_dep.c
+*** gc.org/mach_dep.c Thu Jun 28 05:54:23 2001
+--- gc/mach_dep.c Wed Jul 25 17:38:57 2001
+***************
+*** 429,435 ****
+ *i = 0;
+ }
+ # if defined(POWERPC) || defined(MSWIN32) || defined(MSWINCE) \
+! || defined(UTS4) || defined(LINUX)
+ (void) setjmp(regs);
+ # else
+ (void) _setjmp(regs);
+--- 429,435 ----
+ *i = 0;
+ }
+ # if defined(POWERPC) || defined(MSWIN32) || defined(MSWINCE) \
+! || defined(UTS4) || defined(LINUX) || defined(EWS4800)
+ (void) setjmp(regs);
+ # else
+ (void) _setjmp(regs);
+diff -bcrN gc.org/os_dep.c gc/os_dep.c
+*** gc.org/os_dep.c Tue Jun 26 11:32:26 2001
+--- gc/os_dep.c Wed Jul 25 17:38:57 2001
+***************
+*** 1088,1093 ****
+--- 1088,1096 ----
+ GC_add_roots_inner(DATASTART, (char *)sbrk(0), FALSE);
+ # else
+ GC_add_roots_inner(DATASTART, (char *)(DATAEND), FALSE);
++ # if defined(DATASTART2)
++ GC_add_roots_inner(DATASTART2, (char *)(DATAEND2), FALSE);
++ # endif
+ # endif
+ # endif
+ # if !defined(PCR) && (defined(NEXT) || defined(MACOSX))
diff --git a/Patches/hpux11 b/Patches/hpux11
deleted file mode 100644
index c02893e..0000000
--- a/Patches/hpux11
+++ /dev/null
@@ -1,25 +0,0 @@
-Install note for HP-UX
-
-If you are running HP-UX 11 or later on PA-RISC 2.0, you
-have to apply the following patch on GC library. This patch
-is contributed by Dave Eaton <dwe@arde.com>.
-
-If you want to use HP C compiler, answer
-
- Input your favorite C-compiler.
- (Default: cc) cc -Aa -D_HPUX_SOURCE
-
-If you use just 'cc' without options, you can't compile w3m.
-If you are using gcc, no option is needed.
-
-----------------------------------------------------------------------
---- gc/gcconfig.h.original Wed May 19 01:38:55 1999
-+++ gc/gcconfig.h Tue Jun 8 12:38:22 1999
-@@ -125,6 +125,7 @@
- # define mach_type_known
- # endif
- # if defined(_PA_RISC1_0) || defined(_PA_RISC1_1) \
-+ || defined(_PA_RISC2_0) \
- || defined(hppa) || defined(__hppa__)
- # define HP_PA
- # define mach_type_known
diff --git a/Patches/linux2.2sparc b/Patches/linux2.2sparc
deleted file mode 100644
index 3a5cd80..0000000
--- a/Patches/linux2.2sparc
+++ /dev/null
@@ -1,10 +0,0 @@
---- gc/gcconfig.h.org
-+++ gc/gcconfig.h
-@@ -601,7 +601,7 @@
- extern int _end;
- # define DATAEND (&_end)
- # define SVR4
--# define STACKBOTTOM ((ptr_t) 0xf0000000)
-+# define STACKBOTTOM ((ptr_t) 0xeffff000)
- # endif
- # endif
diff --git a/Patches/macosx b/Patches/macosx
deleted file mode 100644
index 4d251f1..0000000
--- a/Patches/macosx
+++ /dev/null
@@ -1,41 +0,0 @@
-Jeroen Scheerder <J.Scheerder@cwi.nl> (by way of Jeroen Scheerder)
-Subject: w3m 0.1.6 on Mac OS X
-Content-Type: text/plain; charset="us-ascii"
-
-Hi,
-
-I've compiled w3m successfully on Mac OS X (DP3). I'm including
-patches, mainly dealing with compiler complaints about possible use of
-uninitialized data.
-
-It compiles with one warning, still:
-
-url.c:799: warning: variable `p' might be clobbered by `longjmp' or
- `vfork'
-
-
-On a related note: I had to modify the makefile; there is no `m'
-library, and no `termcap' library, and they're not needed as well --
-but they will cause an ld failure, when present on the ld command line.
-
-Context diffs (against a 21/1/2000 0.1.6) are included, including the
-(trivial) patch to make Boehm gc compile.
-
-
-
-*** gc/gcconfig.h Mon Mar 6 12:16:04 2000
---- gc/gcconfig.h.org Wed Jan 12 04:23:37 2000
-***************
-*** 180,190 ****
- # define POWERPC
- # define mach_type_known
- # endif
-- # if defined(__APPLE__)
-- # define MACOSX
-- # define POWERPC
-- # define mach_type_known
-- # endif
- # if defined(NeXT) && defined(mc68000)
- # define M68K
- # define NEXT
---- 180,185 ----
diff --git a/Patches/macppc b/Patches/macppc
deleted file mode 100644
index c52adc4..0000000
--- a/Patches/macppc
+++ /dev/null
@@ -1,147 +0,0 @@
-Here is a patch to port GC library to NetBSD/macppc. If you are
-using NetBSD on PowerMac, apply this patch first.
-
-This patch is provided by K. Sunagawa (kei_sun@ba2.so-net.ne.jp).
-
-Index: gc/dyn_load.c
-===================================================================
-RCS file: /cvsroot/w3m/gc/dyn_load.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.2
-diff -u -u -r1.1.1.2 -r1.2
---- gc/dyn_load.c 1999/06/02 19:29:13 1.1.1.2
-+++ gc/dyn_load.c 1999/06/03 12:44:49 1.2
-@@ -48,7 +48,8 @@
- #if !defined(SUNOS4) && !defined(SUNOS5DL) && !defined(IRIX5) && \
- !defined(MSWIN32) && !(defined(ALPHA) && defined(OSF1)) && \
- !defined(HP_PA) && !(defined(LINUX) && defined(__ELF__)) && \
-- !defined(RS6000) && !defined(SCO_ELF)
-+ !defined(RS6000) && !defined(SCO_ELF) && \
-+ !(defined(NETBSD) && defined(POWERPC))
- --> We only know how to find data segments of dynamic libraries for the
- --> above. Additional SVR4 variants might not be too
- --> hard to add.
-@@ -260,14 +261,22 @@
- # endif /* !USE_PROC ... */
- # endif /* SUNOS */
-
--#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF)
-+#if defined(LINUX) && defined(__ELF__) || defined(SCO_ELF) || \
-+ (defined(NETBSD) && defined(POWERPC))
-
- /* Dynamic loading code for Linux running ELF. Somewhat tested on
- * Linux/x86, untested but hopefully should work on Linux/Alpha.
- * This code was derived from the Solaris/ELF support. Thanks to
- * whatever kind soul wrote that. - Patrick Bridges */
-
-+#if defined(NETBSD)
-+#include <sys/exec_elf.h>
-+#define DT_DEBUG 21
-+#define PT_LOAD 1
-+#define PF_W 0x2
-+#else
- #include <elf.h>
-+#endif
- #include <link.h>
-
- /* Newer versions of Linux/Alpha and Linux/x86 define this macro. We
-Index: gc/gcconfig.h
-===================================================================
-RCS file: /cvsroot/w3m/gc/gcconfig.h,v
-retrieving revision 1.1.1.2
-retrieving revision 1.2
-diff -u -u -r1.1.1.2 -r1.2
---- gc/gcconfig.h 1999/06/02 19:29:18 1.1.1.2
-+++ gc/gcconfig.h 1999/06/03 12:44:49 1.2
-@@ -48,6 +48,11 @@
- # define NETBSD
- # define mach_type_known
- # endif
-+# if defined(__NetBSD__) && defined(__powerpc__)
-+# define POWERPC
-+# define NETBSD
-+# define mach_type_known
-+# endif
- # if defined(vax)
- # define VAX
- # ifdef ultrix
-@@ -486,8 +491,8 @@
-
- # ifdef POWERPC
- # define MACH_TYPE "POWERPC"
--# define ALIGNMENT 2
- # ifdef MACOS
-+# define ALIGNMENT 2
- # ifndef __LOWMEM__
- # include <LowMem.h>
- # endif
-@@ -497,6 +502,7 @@
- # define DATAEND /* not needed */
- # endif
- # ifdef LINUX
-+# define ALIGNMENT 2
- # define OS_TYPE "LINUX"
- # define HEURISTIC1
- # undef STACK_GRAN
-@@ -504,6 +510,14 @@
- # define DATASTART GC_data_start
- extern int _end;
- # define DATAEND (&_end)
-+# endif
-+# ifdef NETBSD
-+# define ALIGNMENT 4
-+# define OS_TYPE "NETBSD"
-+# define HEURISTIC2
-+ extern char etext;
-+# define DATASTART GC_data_start
-+# define DYNAMIC_LOADING
- # endif
- # endif
-
-Index: gc/misc.c
-===================================================================
-RCS file: /cvsroot/w3m/gc/misc.c,v
-retrieving revision 1.1.1.1
-retrieving revision 1.2
-diff -u -u -r1.1.1.1 -r1.2
---- gc/misc.c 1999/06/02 19:23:56 1.1.1.1
-+++ gc/misc.c 1999/06/03 12:44:50 1.2
-@@ -433,6 +433,9 @@
- # if defined(LINUX) && defined(SPARC)
- GC_init_linuxsparc();
- # endif
-+# if defined(NETBSD) && defined(POWERPC)
-+ GC_init_netbsd_powerpc();
-+# endif
- # ifdef SOLARIS_THREADS
- GC_thr_init();
- /* We need dirty bits in order to find live stack sections. */
-Index: gc/os_dep.c
-===================================================================
-RCS file: /cvsroot/w3m/gc/os_dep.c,v
-retrieving revision 1.1.1.2
-retrieving revision 1.2
-diff -u -u -r1.1.1.2 -r1.2
---- gc/os_dep.c 1999/06/02 19:29:10 1.1.1.2
-+++ gc/os_dep.c 1999/06/03 12:44:50 1.2
-@@ -84,6 +84,19 @@
- # include <machine/trap.h>
- #endif
-
-+#if defined(NETBSD) && defined(POWERPC)
-+ ptr_t GC_data_start;
-+
-+ void GC_init_netbsd_powerpc()
-+ {
-+ extern ptr_t GC_find_limit();
-+ extern char **environ;
-+ /* This may need to be environ, without the underscore, for */
-+ /* some versions. */
-+ GC_data_start = GC_find_limit((ptr_t)&environ, FALSE);
-+ }
-+#endif
-+
- #ifdef AMIGA
- # include <proto/exec.h>
- # include <proto/dos.h>
-
diff --git a/Patches/mipsel b/Patches/mipsel
deleted file mode 100644
index c3c6be1..0000000
--- a/Patches/mipsel
+++ /dev/null
@@ -1,184 +0,0 @@
-diff -ur gc/gcconfig.h w3m/gc/gcconfig.h
---- gc/gcconfig.h Tue Jan 4 14:46:50 2000
-+++ gc/gcconfig.h Fri May 26 00:30:56 2000
-@@ -67,11 +67,13 @@
- # if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
- # define ULTRIX
- # else
--# if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4__)
--# define IRIX5 /* or IRIX 6.X */
--# else
--# define RISCOS /* or IRIX 4.X */
--# endif
-+# if !defined(LINUX)
-+# if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4__)
-+# define IRIX5 /* or IRIX 6.X */
-+# else
-+# define RISCOS /* or IRIX 4.X */
-+# endif
-+# endif
- # endif
- # define mach_type_known
- # endif
-@@ -836,49 +838,58 @@
-
- # ifdef MIPS
- # define MACH_TYPE "MIPS"
--# ifndef IRIX5
--# define DATASTART (ptr_t)0x10000000
-+# ifdef LINUX
-+# define OS_TYPE "LINUX"
-+ extern int __data_start;
-+# define DATASTART ((ptr_t)(&__data_start))
-+# define ALIGNMENT 4
-+# define USE_GENERIC_PUSH_REGS 1
-+# define STACKBOTTOM 0x80000000
-+# else /* LINUX */
-+# ifndef IRIX5
-+# define DATASTART (ptr_t)0x10000000
- /* Could probably be slightly higher since */
- /* startup code allocates lots of stuff. */
--# else
-- extern int _fdata;
--# define DATASTART ((ptr_t)(&_fdata))
--# ifdef USE_MMAP
--# define HEAP_START (ptr_t)0x30000000
- # else
--# define HEAP_START DATASTART
--# endif
-+ extern int _fdata;
-+# define DATASTART ((ptr_t)(&_fdata))
-+# ifdef USE_MMAP
-+# define HEAP_START (ptr_t)0x30000000
-+# else
-+# define HEAP_START DATASTART
-+# endif
- /* Lowest plausible heap address. */
- /* In the MMAP case, we map there. */
- /* In either case it is used to identify */
- /* heap sections so they're not */
- /* considered as roots. */
--# endif /* IRIX5 */
--# define HEURISTIC2
-+# endif /* IRIX5 */
-+# define HEURISTIC2
- /* # define STACKBOTTOM ((ptr_t)0x7fff8000) sometimes also works. */
--# ifdef ULTRIX
--# define OS_TYPE "ULTRIX"
--# define ALIGNMENT 4
--# endif
--# ifdef RISCOS
--# define OS_TYPE "RISCOS"
--# define ALIGNMENT 4 /* Required by hardware */
--# endif
--# ifdef IRIX5
--# define OS_TYPE "IRIX5"
--# define MPROTECT_VDB
--# ifdef _MIPS_SZPTR
--# define CPP_WORDSZ _MIPS_SZPTR
--# define ALIGNMENT (_MIPS_SZPTR/8)
--# if CPP_WORDSZ != 64
-+# ifdef ULTRIX
-+# define OS_TYPE "ULTRIX"
-+# define ALIGNMENT 4
-+# endif
-+# ifdef RISCOS
-+# define OS_TYPE "RISCOS"
-+# define ALIGNMENT 4 /* Required by hardware */
-+# endif
-+# ifdef IRIX5
-+# define OS_TYPE "IRIX5"
-+# define MPROTECT_VDB
-+# ifdef _MIPS_SZPTR
-+# define CPP_WORDSZ _MIPS_SZPTR
-+# define ALIGNMENT (_MIPS_SZPTR/8)
-+# if CPP_WORDSZ != 64
-+# define ALIGN_DOUBLE
-+# endif
-+# else
-+# define ALIGNMENT 4
- # define ALIGN_DOUBLE
- # endif
--# else
--# define ALIGNMENT 4
--# define ALIGN_DOUBLE
--# endif
--# define DYNAMIC_LOADING
--# endif
-+# define DYNAMIC_LOADING
-+# endif
-+# endif
- # endif
-
- # ifdef RS6000
-diff -ur gc/mach_dep.c w3m/gc/mach_dep.c
---- gc/mach_dep.c Tue Jan 4 14:46:50 2000
-+++ gc/mach_dep.c Fri May 26 00:34:11 2000
-@@ -74,6 +74,21 @@
- # ifdef RT
- register long TMP_SP; /* must be bound to r11 */
- # endif
-+# if defined(MIPS) && defined(LINUX)
-+# define call_push(x) asm("move $4," x ";"); asm("jal GC_push_one")
-+ call_push("$2");
-+ call_push("$3");
-+ call_push("$16");
-+ call_push("$17");
-+ call_push("$18");
-+ call_push("$19");
-+ call_push("$20");
-+ call_push("$21");
-+ call_push("$22");
-+ call_push("$23");
-+ call_push("$30");
-+# undef call_push
-+# endif /* MIPS && LINUX */
- # ifdef VAX
- /* VAX - generic code below does not work under 4.2 */
- /* r1 through r5 are caller save, and therefore */
-@@ -338,7 +353,9 @@
- # if !(defined M68K) && !(defined VAX) && !(defined RT)
- # if !(defined SPARC) && !(defined I386) && !(defined NS32K)
- # if !defined(POWERPC) && !defined(UTS4)
-+# if (!defined(MIPS) && !defined(LINUX))
- --> bad news <--
-+# endif
- # endif
- # endif
- # endif
-diff -ur gc/misc.c w3m/gc/misc.c
---- gc/misc.c Tue Jan 4 14:46:50 2000
-+++ gc/misc.c Fri May 26 00:52:59 2000
-@@ -433,7 +433,8 @@
- # ifdef MSWIN32
- GC_init_win32();
- # endif
--# if defined(LINUX) && (defined(POWERPC) || defined(ALPHA) || defined(SPARC))
-+# if defined(LINUX) && (defined(POWERPC) || defined(ALPHA) || \
-+ defined(SPARC) || defined(MIPS))
- GC_init_linux_data_start();
- # endif
- # ifdef SOLARIS_THREADS
-diff -ur gc/os_dep.c w3m/gc/os_dep.c
---- gc/os_dep.c Tue Jan 4 14:46:50 2000
-+++ gc/os_dep.c Fri May 26 00:37:07 2000
-@@ -72,7 +72,8 @@
- # define NEED_FIND_LIMIT
- # endif
-
--# if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA))
-+# if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || \
-+ defined(ALPHA) || defined(MIPS))
- # define NEED_FIND_LIMIT
- # endif
-
-@@ -139,7 +140,8 @@
- # define OPT_PROT_EXEC 0
- #endif
-
--#if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || defined(ALPHA))
-+#if defined(LINUX) && (defined(POWERPC) || defined(SPARC) || \
-+ defined(ALPHA) || defined(MIPS))
- /* The I386 case can be handled without a search. The Alpha case */
- /* used to be handled differently as well, but the rules changed */
- /* for recent Linux versions. This seems to be the easiest way to */
diff --git a/Patches/newsos6 b/Patches/newsos6
deleted file mode 100644
index 4205511..0000000
--- a/Patches/newsos6
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ur gc/Makefile gc/Makefile
---- gc/Makefile Sat Jul 24 02:53:34 1999
-+++ gc/Makefile Tue Nov 30 14:29:50 1999
-@@ -7,7 +7,7 @@
- # and runs some tests of collector and cords. Does not add cords or
- # c++ interface to gc.a
- # cord/de - builds dumb editor based on cords.
--ABI_FLAG=
-+ABI_FLAG=-KPIC
- CC=cc $(ABI_FLAG)
- CXX=CC $(ABI_FLAG)
- AS=as $(ABI_FLAG)
-Only in gc: Makefile.back
-Only in gc: Makefile.orig
-diff -ur gc/gcconfig.h gc/gcconfig.h
---- gc/gcconfig.h Fri Jul 9 05:03:22 1999
-+++ gc/gcconfig.h Tue Nov 30 14:30:11 1999
-@@ -64,7 +64,8 @@
- # endif
- # if defined(mips) || defined(__mips)
- # define MIPS
--# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__)
-+# if defined(ultrix) || defined(__ultrix) || defined(__NetBSD__) ||\
-+ defined(nec_ews) || defined(__sony_news)
- # define ULTRIX
- # else
- # if defined(_SYSTYPE_SVR4) || defined(SYSTYPE_SVR4) || defined(__SYSTYPE_SVR4__)
diff --git a/Patches/os2 b/Patches/os2
deleted file mode 100644
index 7067d71..0000000
--- a/Patches/os2
+++ /dev/null
@@ -1,39 +0,0 @@
---- w3m-0.1.10/XMakefile Thu Jun 8 13:26:04 2000
-+++ w3m-0.1.10-6/XMakefile Sun Jun 11 16:37:18 2000
-@@ -8,7 +8,7 @@
- LOBJS=terms.o conv.o url.o ftp.o anchor.o mimehead.o hash.o tagtable.o
- LLOBJS=version.o
- ALIBOBJS=Str.o indep.o regex.o textlist.o parsetag.o
--ALIB=libindep.a
-+ALIB=indep.a
- ALLOBJS=$(OBJS) $(LOBJS) $(LLOBJS)
-
- TARGET=w3m$(EXT)
-@@ -31,13 +31,13 @@
- $(CC) $(CFLAGS) -o $(TARGET) $(ALLOBJS) $(LIBS)
-
- $(ALIB): $(ALIBOBJS)
-- $(AR) rv $(ALIB) $(ALIBOBJS)
-+ $(AR) srv $(ALIB) $(ALIBOBJS)
- $(RANLIB) $(ALIB)
-
- $(OBJS): fm.h funcname1.h
-
- tagtable.c: html.h tagtable.tab mktable$(EXT)
-- ./mktable 100 tagtable.tab > tagtable.c
-+ mktable 100 tagtable.tab > tagtable.c
-
- func.o: funcname.c
- keybind.o: funcname2.h
---- w3m-0.1.10/gc/os_dep.c Tue Jan 4 14:46:50 2000
-+++ w3m-0.1.10-6/gc/os_dep.c Sun Jun 11 16:37:16 2000
-@@ -732,7 +732,9 @@
- if (!(flags & OBJWRITE)) continue;
- if (!(flags & OBJREAD)) continue;
- if (flags & OBJINVALID) {
-+#ifndef __EMX__
- GC_err_printf0("Object with invalid pages?\n");
-+#endif
- continue;
- }
- GC_add_roots_inner(O32_BASE(seg), O32_BASE(seg)+O32_SIZE(seg), FALSE);