diff options
Diffstat (limited to '')
| -rw-r--r-- | Patches/armlinux | 110 | 
1 files changed, 110 insertions, 0 deletions
| diff --git a/Patches/armlinux b/Patches/armlinux new file mode 100644 index 0000000..18dd202 --- /dev/null +++ b/Patches/armlinux @@ -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	*/ + | 
