Initial revision
This commit is contained in:
		
							
								
								
									
										19
									
								
								Patches/alpha
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								Patches/alpha
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| *** 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) | ||||
							
								
								
									
										110
									
								
								Patches/armlinux
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								Patches/armlinux
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| 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	*/ | ||||
|  | ||||
							
								
								
									
										34
									
								
								Patches/ews4800
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								Patches/ews4800
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| --- 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) | ||||
							
								
								
									
										25
									
								
								Patches/hpux11
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								Patches/hpux11
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| 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 | ||||
							
								
								
									
										10
									
								
								Patches/linux2.2sparc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								Patches/linux2.2sparc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| --- 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 | ||||
							
								
								
									
										41
									
								
								Patches/macosx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								Patches/macosx
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| 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 ---- | ||||
							
								
								
									
										147
									
								
								Patches/macppc
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										147
									
								
								Patches/macppc
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,147 @@ | ||||
| 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> | ||||
|  | ||||
							
								
								
									
										184
									
								
								Patches/mipsel
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										184
									
								
								Patches/mipsel
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,184 @@ | ||||
| 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	*/ | ||||
							
								
								
									
										27
									
								
								Patches/newsos6
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								Patches/newsos6
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| 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__) | ||||
							
								
								
									
										39
									
								
								Patches/os2
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								Patches/os2
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| --- 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); | ||||
		Reference in New Issue
	
	Block a user