sync with w3m-0.2.2-inu-1.1/gc, so Patches/ews4800 no longer needed
This commit is contained in:
@@ -1,6 +1,8 @@
|
|||||||
2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp>
|
2001-12-20 Fumitoshi UKAI <ukai@debian.or.jp>
|
||||||
|
|
||||||
* gc/: sync with w3m-0.2.2-inu-1.1/gc
|
* gc/: sync with w3m-0.2.2-inu-1.1/gc
|
||||||
|
* Patches/ews4800: deleted
|
||||||
|
* configure: comment out Patches/ews4800
|
||||||
|
|
||||||
2001-12-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
|
2001-12-20 Hironori Sakamoto <hsaka@mth.biglobe.ne.jp>
|
||||||
|
|
||||||
@@ -1316,4 +1318,4 @@
|
|||||||
* release-0-2-1
|
* release-0-2-1
|
||||||
* import w3m-0.2.1
|
* import w3m-0.2.1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.140 2001/12/20 00:39:30 ukai Exp $
|
$Id: ChangeLog,v 1.141 2001/12/20 00:44:44 ukai Exp $
|
||||||
|
175
Patches/ews4800
175
Patches/ews4800
@@ -1,175 +0,0 @@
|
|||||||
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))
|
|
4
configure
vendored
4
configure
vendored
@@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# $Id: configure,v 1.37 2001/12/19 18:16:18 ukai Exp $
|
# $Id: configure,v 1.38 2001/12/20 00:44:00 ukai Exp $
|
||||||
# Configuration.
|
# Configuration.
|
||||||
#
|
#
|
||||||
|
|
||||||
@@ -1039,7 +1039,7 @@ if [ "$gclib" = "gc/gc.a" -a ! -f patch_done ]; then
|
|||||||
case "$platform:$sysname" in
|
case "$platform:$sysname" in
|
||||||
R3000:*System_V*|R4000:UNIX_SYSV|R*000:UNIX_SV)
|
R3000:*System_V*|R4000:UNIX_SYSV|R*000:UNIX_SV)
|
||||||
# EWS-4800
|
# EWS-4800
|
||||||
patchfile=Patches/ews4800
|
# patchfile=Patches/ews4800
|
||||||
gc_cflags=-Dmips
|
gc_cflags=-Dmips
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Reference in New Issue
Block a user