Updates from 0.2.1 into 0.2.1-inu-1.5

This commit is contained in:
Akinori Ito
2001-11-09 04:59:17 +00:00
parent 68a07bf03b
commit 6c63633545
246 changed files with 32763 additions and 21814 deletions

View File

@@ -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)

View File

@@ -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 */

View File

@@ -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))

View File

@@ -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

View File

@@ -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

View File

@@ -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 ----

View File

@@ -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>

View File

@@ -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 */

View File

@@ -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__)

View File

@@ -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);