Update of /cvsroot/fink/dists/10.4/stable/main/finkinfo/languages
In directory sc8-pr-cvs17:/tmp/cvs-serv19250
Modified Files:
gcc42.info gcc42.patch
Log Message:
latest version to stable, with maintainer's permission
Index: gcc42.info
===================================================================
RCS file: /cvsroot/fink/dists/10.4/stable/main/finkinfo/languages/gcc42.info,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- gcc42.info 30 Jun 2007 22:00:08 -0000 1.2
+++ gcc42.info 30 Jul 2007 22:03:06 -0000 1.3
@@ -1,9 +1,9 @@
Info2: <<
Package: gcc42
-Version: 4.2.0
-Revision: 1001
+Version: 4.2.1
+Revision: 1000
Source: ftp://gcc.gnu.org/pub/gcc/releases/gcc-%v/gcc-%v.tar.bz2
-Source-MD5: 4798c23548dc791ea12a139e18940684
+Source-MD5: cba410e6ff70f7d7f4be7a0267707fd0
Type: -64bit
NoSetCPPFLAGS: True
NoSetLDFLAGS: True
@@ -13,7 +13,7 @@
BuildDepends: gmp (>= 4.2.1-1), libmpfr1 (>= 2.2.0-2), libiconv-dev,
gettext-tools, libgettext3-dev, cctools (>= 622-1)
ConfigureParams: <<
--prefix=%p/lib/gcc4.2 --mandir=%p/share/man --infodir=%p/share/info
--enable-languages=c,c++,fortran,objc,java \
- `cc -v 2>&1|grep '^Configured'|tr ' ' '\n'|egrep
'^\-\-(with\-(arch|tune)|host)='|xargs` \
+ `cc -v 2>&1|grep '^Configured'|tr ' ' '\n'|egrep
'^\-\-(with\-(arch|tune)|host)='|sed
's|--with-arch=apple|--with-arch=nocona|g'|xargs` \
--with-gmp=%p --with-libiconv-prefix=%p --with-system-zlib
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib
<<
Patch: %n.patch
@@ -110,7 +110,7 @@
lib/gcc4.2/lib/libssp.0*.dylib
lib/gcc4.2/lib/libobjc-gnu.2*.dylib
lib/gcc4.2/lib/libgomp.1*.dylib
- lib/gcc4.2/lib/gcj-4.2.0
+ lib/gcc4.2/lib/gcj-%v
lib/gcc4.2/%lib/libgfortran.2*.dylib
lib/gcc4.2/%lib/libstdc++.6*.dylib
lib/gcc4.2/%lib/libssp.0*.dylib
Index: gcc42.patch
===================================================================
RCS file: /cvsroot/fink/dists/10.4/stable/main/finkinfo/languages/gcc42.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- gcc42.patch 30 Jun 2007 22:00:09 -0000 1.2
+++ gcc42.patch 30 Jul 2007 22:03:06 -0000 1.3
@@ -1,3 +1,12 @@
+--- gcc-4.2.0/libgomp/testsuite/libgomp.c++/pr30703.C.org 2007-02-07
08:37:29.000000000 -0500
++++ gcc-4.2.0/libgomp/testsuite/libgomp.c++/pr30703.C 2007-05-17
19:48:03.000000000 -0400
+@@ -1,5 +1,6 @@
+ // PR c++/30703
+ // { dg-do run }
++// { dg-options "-shared-libgcc" { target *-*-darwin* } }
+
+ #include <omp.h>
+
--- gcc-4.2-20060822/gcc/testsuite/lib/prune.exp.org 2006-08-23
18:33:56.000000000 -0400
+++ gcc-4.2-20060822/gcc/testsuite/lib/prune.exp 2006-08-23
18:41:28.000000000 -0400
@@ -43,6 +43,7 @@
@@ -31,496 +40,134 @@
for peer in $peerlibs ; do
case $peer in
xlib)
---- gcc-4.2.0/boehm-gc/configure.ac.org 2006-12-08 19:42:26.000000000
-0500
-+++ gcc-4.2.0/boehm-gc/configure.ac 2007-05-16 15:38:25.000000000 -0400
-@@ -248,33 +248,46 @@
- case "$host" in
- powerpc*-*-darwin*)
- AC_CHECK_MEMBER(ppc_thread_state_t.r0,
-- AC_DEFINE(HAS_PPC_THREAD_STATE_R0,,[ppc_thread_state_t has field r0]),,
-+ AC_DEFINE(HAS_PPC_THREAD_STATE_R0,1,
-+ [ppc_thread_state_t has field r0]),,
- [#include <mach/thread_status.h>])
- AC_CHECK_MEMBER(ppc_thread_state_t.__r0,
-- AC_DEFINE(HAS_PPC_THREAD_STATE___R0,,dnl
-- [ppc_thread_state_t has field __r0]),,
-+ AC_DEFINE(HAS_PPC_THREAD_STATE___R0,1,dnl
-+ [ppc_thread_state_t has field __r0]),,
- [#include <mach/thread_status.h>])
- AC_CHECK_MEMBER(ppc_thread_state64_t.r0,
-- AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,,dnl
-- [ppc_thread_state64_t has field r0]),,
-+ AC_DEFINE(HAS_PPC_THREAD_STATE64_R0,1,dnl
-+ [ppc_thread_state64_t has field r0]),,
- [#include <mach/thread_status.h>])
- AC_CHECK_MEMBER(ppc_thread_state64_t.__r0,
-- AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,,dnl
-- [ppc_thread_state64_t has field __r0]),,
-+ AC_DEFINE(HAS_PPC_THREAD_STATE64___R0,1,dnl
-+ [ppc_thread_state64_t has field __r0]),,
- [#include <mach/thread_status.h>])
- ;;
- i?86*-*-darwin*)
-- AC_CHECK_MEMBER(i386_thread_state_t.eax,
-- AC_DEFINE(HAS_I386_THREAD_STATE_EAX,,dnl
-- [i386_thread_state_t has field eax]),,
-+ AC_CHECK_MEMBER(x86_thread_state32_t.eax,
-+ AC_DEFINE(HAS_X86_THREAD_STATE32_EAX,1,dnl
-+ [x86_thread_state32_t has field eax]),,
- [#include <sys/cdefs.h>
--#include <mach/thread_status.h>])
-- AC_CHECK_MEMBER(i386_thread_state_t.__eax,
-- AC_DEFINE(HAS_I386_THREAD_STATE___EAX,,dnl
-- [i386_thread_state_t has field __eax]),,
-+ #include <mach/thread_status.h>])
-+ AC_CHECK_MEMBER(x86_thread_state32_t.__eax,
-+ AC_DEFINE(HAS_X86_THREAD_STATE32___EAX,1,dnl
-+ [x86_thread_state32_t has field __eax]),,
- [#include <sys/cdefs.h>
--#include <mach/thread_status.h>])
-+ #include <mach/thread_status.h>])
- ;;
-+ x86_64-*-darwin*)
-+ AC_CHECK_MEMBER(x86_thread_state64_t.rax,
-+ AC_DEFINE(HAS_X86_THREAD_STATE64_RAX,1,dnl
-+ [x86_thread_state64_t has field rax]),,
-+ [#include <sys/cdefs.h>
-+ #include <mach/thread_status.h>])
-+ AC_CHECK_MEMBER(x86_thread_state64_t.__rax,
-+ AC_DEFINE(HAS_X86_THREAD_STATE64___RAX,1,dnl
-+ [x86_thread_state64_t has field __rax]),,
-+ [#include <sys/cdefs.h>
-+ #include <mach/thread_status.h>])
-+ ;;
- *) ;;
- esac
+diff -uNr gcc-4.2.1/gcc/tree-ssa-structalias.c
gcc-4.2.1.memfix/gcc/tree-ssa-structalias.c
+--- gcc-4.2.1/gcc/tree-ssa-structalias.c 2007-06-19 05:24:35.000000000
-0400
++++ gcc-4.2.1.memfix/gcc/tree-ssa-structalias.c 2007-07-20
18:28:59.000000000 -0400
+@@ -4350,6 +4350,75 @@
+ process_constraint (new_constraint (lhs, rhs));
+ }
---- gcc-4.2.0/boehm-gc/darwin_stop_world.c.org 2006-12-08 19:42:26.000000000
-0500
-+++ gcc-4.2.0/boehm-gc/darwin_stop_world.c 2007-05-17 16:36:54.000000000
-0400
-@@ -10,7 +10,7 @@
- be allocated, is called the red zone. This area as shown in Figure 3-2 may
- be used for any purpose as long as a new stack frame does not need to be
- added to the stack."
--
++/* Structure used to put solution bitmaps in a hashtable so they can
++ be shared among variables with the same points-to set. */
+
- Page 50: "If a leaf procedure's red zone usage would exceed 224 bytes, then
- it must set up a stack frame just like routines that call other routines."
- */
-@@ -20,48 +20,6 @@
- # define PPC_RED_ZONE_SIZE 320
- #endif
-
--/* Try to work out the right way to access thread state structure members.
-- The structure has changed its definition in different Darwin versions. */
--#if defined(__ppc__)
--# define THREAD_STATE ppc_thread_state_t
--# if defined (HAS_PPC_THREAD_STATE_R0)
--# define THREAD_FLD(x) x
--# elif defined (HAS_PPC_THREAD_STATE___R0)
--# define THREAD_FLD(x) __ ## x
--# else
--# error can not work out how to access fields of ppc_thread_state_t
--# endif
--#elif defined(__ppc64__)
--# define THREAD_STATE ppc_thread_state64_t
--# if defined (HAS_PPC_THREAD_STATE64_R0)
--# define THREAD_FLD(x) x
--# elif defined (HAS_PPC_THREAD_STATE64___R0)
--# define THREAD_FLD(x) __ ## x
--# else
--# error can not work out how to access fields of ppc_thread_state64_t
--# endif
--#elif defined(__i386__)
--# define THREAD_STATE i386_thread_state_t
--# if defined (HAS_I386_THREAD_STATE_EAX)
--# define THREAD_FLD(x) x
--# elif defined (HAS_I386_THREAD_STATE___EAX)
--# define THREAD_FLD(x) __ ## x
--# else
--# error can not work out how to access fields of i386_thread_state_t
--# endif
--#elif defined(__x86_64__)
--# define THREAD_STATE i386_thread_state_t
--# if defined (HAS_I386_THREAD_STATE_EAX)
--# define THREAD_FLD(x) x
--# elif defined (HAS_I386_THREAD_STATE___EAX)
--# define THREAD_FLD(x) __ ## x
--# else
--# error can not work out how to access fields of i386_thread_state_t
--# endif
--#else
--# error unknown architecture
--#endif
--
- typedef struct StackFrame {
- unsigned long savedSP;
- unsigned long savedCR;
-@@ -115,8 +73,8 @@
- GC_thread p;
- pthread_t me;
- ptr_t lo, hi;
-- THREAD_STATE state;
-- mach_msg_type_number_t thread_state_count = MACHINE_THREAD_STATE_COUNT;
-+ GC_THREAD_STATE_T state;
-+ mach_msg_type_number_t thread_state_count = GC_MACH_THREAD_STATE_COUNT;
-
- me = pthread_self();
- if (!GC_thr_initialized) GC_thr_init();
-@@ -128,11 +86,8 @@
- lo = GC_approx_sp();
- } else {
- /* Get the thread state (registers, etc) */
-- r = thread_get_state(
-- p->stop_info.mach_thread,
-- MACHINE_THREAD_STATE,
-- (natural_t*)&state,
-- &thread_state_count);
-+ r = thread_get_state(p->stop_info.mach_thread, GC_MACH_THREAD_STATE,
-+ (natural_t*)&state, &thread_state_count);
- if(r != KERN_SUCCESS) ABORT("thread_get_state failed");
-
- #if defined(I386)
-@@ -144,7 +99,33 @@
- GC_push_one(state . THREAD_FLD (edx));
- GC_push_one(state . THREAD_FLD (edi));
- GC_push_one(state . THREAD_FLD (esi));
-- GC_push_one(state . THREAD_FLD (ebp));
-+ GC_push_one(state . THREAD_FLD (ebp));
++typedef struct shared_bitmap_info
++{
++ bitmap pt_vars;
++ hashval_t hashcode;
++} *shared_bitmap_info_t;
+
-+#elif defined(X86_64)
-+ lo = (void*)state . THREAD_FLD (rsp);
++static htab_t shared_bitmap_table;
+
-+ GC_push_one(state . THREAD_FLD (rax));
-+ GC_push_one(state . THREAD_FLD (rbx));
-+ GC_push_one(state . THREAD_FLD (rcx));
-+ GC_push_one(state . THREAD_FLD (rdx));
-+ GC_push_one(state . THREAD_FLD (rdi));
-+ GC_push_one(state . THREAD_FLD (rsi));
-+ GC_push_one(state . THREAD_FLD (rbp));
-+ GC_push_one(state . THREAD_FLD (rsp));
-+ GC_push_one(state . THREAD_FLD (r8));
-+ GC_push_one(state . THREAD_FLD (r9));
-+ GC_push_one(state . THREAD_FLD (r10));
-+ GC_push_one(state . THREAD_FLD (r11));
-+ GC_push_one(state . THREAD_FLD (r12));
-+ GC_push_one(state . THREAD_FLD (r13));
-+ GC_push_one(state . THREAD_FLD (r14));
-+ GC_push_one(state . THREAD_FLD (r15));
-+ GC_push_one(state . THREAD_FLD (rip));
-+ GC_push_one(state . THREAD_FLD (rflags));
-+ GC_push_one(state . THREAD_FLD (cs));
-+ GC_push_one(state . THREAD_FLD (fs));
-+ GC_push_one(state . THREAD_FLD (gs));
++/* Hash function for a shared_bitmap_info_t */
+
- #elif defined(POWERPC)
- lo = (void*)(state . THREAD_FLD (r1) - PPC_RED_ZONE_SIZE);
-
-@@ -221,9 +202,9 @@
- hi = (ptr_t)FindTopOfStack(0);
- } else {
- # if defined(__ppc__) || defined(__ppc64__)
-- THREAD_STATE info;
-+ GC_THREAD_STATE_T info;
- mach_msg_type_number_t outCount = THREAD_STATE_MAX;
-- r = thread_get_state(thread, MACHINE_THREAD_STATE,
-+ r = thread_get_state(thread, GC_MACH_THREAD_STATE,
- (natural_t *)&info, &outCount);
- if(r != KERN_SUCCESS) ABORT("task_get_state failed");
-
-@@ -264,10 +245,10 @@
- # else
- /* FIXME: Remove after testing: */
- WARN("This is completely untested and likely will not work\n", 0);
-- THREAD_STATE info;
-+ GC_THREAD_STATE_T info;
- mach_msg_type_number_t outCount = THREAD_STATE_MAX;
-- r = thread_get_state(thread, MACHINE_THREAD_STATE,
-- (natural_t *)&info, &outCount);
-+ r = thread_get_state(thread, GC_MACH_THREAD_STATE, (natural_t *)&info,
-+ &outCount);
- if(r != KERN_SUCCESS) ABORT("task_get_state failed");
-
- lo = (void*)info . THREAD_FLD (esp);
---- gcc-4.2.0/boehm-gc/dyn_load.c.org 2006-09-18 14:45:08.000000000 -0400
-+++ gcc-4.2.0/boehm-gc/dyn_load.c 2007-05-16 15:38:33.000000000 -0400
-@@ -1152,7 +1152,7 @@
- };
-
- #ifdef DARWIN_DEBUG
--static const char *GC_dyld_name_for_hdr(struct mach_header *hdr) {
-+static const char *GC_dyld_name_for_hdr(const struct GC_MACH_HEADER *hdr) {
- unsigned long i,c;
- c = _dyld_image_count();
- for(i=0;i<c;i++) if(_dyld_get_image_header(i) == hdr)
-@@ -1162,12 +1162,17 @@
- #endif
-
- /* This should never be called by a thread holding the lock */
--static void GC_dyld_image_add(struct mach_header* hdr, unsigned long slide) {
-+static void GC_dyld_image_add(const struct GC_MACH_HEADER *hdr, intptr_t
slide)
++static hashval_t
++shared_bitmap_hash (const void *p)
+{
- unsigned long start,end,i;
-- const struct section *sec;
-+ const struct GC_MACH_SECTION *sec;
- if (GC_no_dls) return;
- for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-- sec = getsectbynamefromheader(
-+# if defined (__LP64__)
-+ sec = getsectbynamefromheader_64(
-+# else
-+ sec = getsectbynamefromheader(
-+# endif
- hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
- if(sec == NULL || sec->size == 0) continue;
- start = slide + sec->addr;
-@@ -1184,11 +1189,16 @@
- }
++ const shared_bitmap_info_t bi = (shared_bitmap_info_t) p;
++ return bi->hashcode;
++}
++
++/* Equality function for two shared_bitmap_info_t's. */
++
++static int
++shared_bitmap_eq (const void *p1, const void *p2)
++{
++ const shared_bitmap_info_t sbi1 = (shared_bitmap_info_t) p1;
++ const shared_bitmap_info_t sbi2 = (shared_bitmap_info_t) p2;
++ return bitmap_equal_p (sbi1->pt_vars, sbi2->pt_vars);
++}
++
++/* Lookup a bitmap in the shared bitmap hashtable, and return an already
++ existing instance if there is one, NULL otherwise. */
++
++static bitmap
++shared_bitmap_lookup (bitmap pt_vars)
++{
++ void **slot;
++ struct shared_bitmap_info sbi;
++
++ sbi.pt_vars = pt_vars;
++ sbi.hashcode = bitmap_hash (pt_vars);
++
++ slot = htab_find_slot_with_hash (shared_bitmap_table, &sbi,
++ sbi.hashcode, NO_INSERT);
++ if (!slot)
++ return NULL;
++ else
++ return ((shared_bitmap_info_t) *slot)->pt_vars;
++}
++
++
++/* Add a bitmap to the shared bitmap hashtable. */
++
++static void
++shared_bitmap_add (bitmap pt_vars)
++{
++ void **slot;
++ shared_bitmap_info_t sbi = XNEW (struct shared_bitmap_info);
++
++ sbi->pt_vars = pt_vars;
++ sbi->hashcode = bitmap_hash (pt_vars);
++
++ slot = htab_find_slot_with_hash (shared_bitmap_table, sbi,
++ sbi->hashcode, INSERT);
++ gcc_assert (!*slot);
++ *slot = (void *) sbi;
++}
++
++
+ /* Set bits in INTO corresponding to the variable uids in solution set
+ FROM, which came from variable PTR.
+ For variables that are actually dereferenced, we also use type
+@@ -4460,7 +4529,9 @@
+ struct ptr_info_def *pi = get_ptr_info (p);
+ unsigned int i;
+ bitmap_iterator bi;
+-
++ bitmap finished_solution;
++ bitmap result;
++
+ /* This variable may have been collapsed, let's get the real
+ variable. */
+ vi = get_varinfo (find (vi->id));
+@@ -4492,10 +4563,20 @@
+ if (pi->pt_anything)
+ return false;
- /* This should never be called by a thread holding the lock */
--static void GC_dyld_image_remove(struct mach_header* hdr, unsigned long
slide) {
-+static void GC_dyld_image_remove(const struct GC_MACH_HEADER *hdr,
-+ intptr_t slide) {
- unsigned long start,end,i;
-- const struct section *sec;
-+ const struct GC_MACH_SECTION *sec;
- for(i=0;i<sizeof(GC_dyld_sections)/sizeof(GC_dyld_sections[0]);i++) {
-- sec = getsectbynamefromheader(
-+# if defined (__LP64__)
-+ sec = getsectbynamefromheader_64(
-+# else
-+ sec = getsectbynamefromheader(
-+# endif
- hdr,GC_dyld_sections[i].seg,GC_dyld_sections[i].sect);
- if(sec == NULL || sec->size == 0) continue;
- start = slide + sec->addr;
---- gcc-4.2.0/boehm-gc/include/private/gcconfig.h.org 2007-01-16
14:44:17.000000000 -0500
-+++ gcc-4.2.0/boehm-gc/include/private/gcconfig.h 2007-05-16
15:42:23.000000000 -0400
-@@ -302,7 +302,10 @@
- # if defined(__ppc__) || defined(__ppc64__)
- # define POWERPC
- # define mach_type_known
--# elif defined(__i386__) || defined(__x86_64)
-+# elif defined(__x86_64__)
-+# define X86_64
-+# define mach_type_known
-+# elif defined(__i386__)
- # define I386
- # define mach_type_known
- # endif
-@@ -791,7 +794,7 @@
- # define DATAEND (_end)
- # endif
- # ifdef DARWIN
--# if defined(__ppc64__) || defined(__x86_64)
-+# if defined(__ppc64__)
- # define ALIGNMENT 8
- # define CPP_WORDSZ 64
- # else
-@@ -800,7 +803,7 @@
- # define OS_TYPE "DARWIN"
- # define DYNAMIC_LOADING
- /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-- These aren't used when dyld support is enabled (it is by default) */
-+ These aren't used when dyld support is enabled (it is by default) */
- # define DATASTART ((ptr_t) get_etext())
- # define DATAEND ((ptr_t) get_end())
- # define STACKBOTTOM ((ptr_t) 0xc0000000)
-@@ -808,9 +811,9 @@
- # define USE_MMAP_ANON
- # define USE_ASM_PUSH_REGS
- /* This is potentially buggy. It needs more testing. See the comments in
-- os_dep.c. It relies on threads to track writes. */
-+ os_dep.c. It relies on threads to track writes. */
- # ifdef GC_DARWIN_THREADS
--/* # define MPROTECT_VDB -- diabled for now. May work for some apps. */
-+/*# define MPROTECT_VDB -- diabled for now. May work for some apps. */
- # endif
- # include <unistd.h>
- # define GETPAGESIZE() getpagesize()
-@@ -822,7 +825,7 @@
- __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x)))
- # endif
- /* There seems to be some issues with trylock hanging on darwin. This
-- should be looked into some more */
-+ should be looked into some more */
- # define NO_PTHREAD_TRYLOCK
- # endif
- # ifdef FREEBSD
-@@ -1317,7 +1320,7 @@
- # define DARWIN_DONT_PARSE_STACK
- # define DYNAMIC_LOADING
- /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-- These aren't used when dyld support is enabled (it is by default) */
-+ These aren't used when dyld support is enabled (it is by default) */
- # define DATASTART ((ptr_t) get_etext())
- # define DATAEND ((ptr_t) get_end())
- # define STACKBOTTOM ((ptr_t) 0xc0000000)
-@@ -1325,15 +1328,15 @@
- # define USE_MMAP_ANON
- # define USE_ASM_PUSH_REGS
- /* This is potentially buggy. It needs more testing. See the comments in
-- os_dep.c. It relies on threads to track writes. */
-+ os_dep.c. It relies on threads to track writes. */
- # ifdef GC_DARWIN_THREADS
- /* # define MPROTECT_VDB -- disabled for now. May work for some apps.
*/
- # endif
- # include <unistd.h>
- # define GETPAGESIZE() getpagesize()
- /* There seems to be some issues with trylock hanging on darwin. This
-- should be looked into some more */
--# define NO_PTHREAD_TRYLOCK
-+ should be looked into some more */
-+# define NO_PTHREAD_TRYLOCK
- # endif /* DARWIN */
- # endif
+- if (!pi->pt_vars)
+- pi->pt_vars = BITMAP_GGC_ALLOC ();
++ finished_solution = BITMAP_GGC_ALLOC ();
++ set_uids_in_ptset (vi->decl, finished_solution, vi->solution);
++ result = shared_bitmap_lookup (finished_solution);
-@@ -1986,6 +1989,28 @@
- # define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
- # endif
- # endif
-+# ifdef DARWIN
-+# define OS_TYPE "DARWIN"
-+# define DARWIN_DONT_PARSE_STACK
-+# define DYNAMIC_LOADING
-+ /* XXX: see get_end(3), get_etext() and get_end() should not be used.
-+ These aren't used when dyld support is enabled (it is by default) */
-+# define DATASTART ((ptr_t) get_etext())
-+# define DATAEND ((ptr_t) get_end())
-+# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000)
-+# define USE_MMAP
-+# define USE_MMAP_ANON
-+# ifdef GC_DARWIN_THREADS
-+ /* This is potentially buggy. It needs more testing. See the comments
in
-+ os_dep.c. It relies on threads to track writes. */
-+# define MPROTECT_VDB
-+# endif
-+# include <unistd.h>
-+# define GETPAGESIZE() getpagesize()
-+ /* There seems to be some issues with trylock hanging on darwin. This
-+ should be looked into some more */
-+# define NO_PTHREAD_TRYLOCK
-+# endif
- # ifdef FREEBSD
- # define OS_TYPE "FREEBSD"
- # ifndef GC_FREEBSD_THREADS
---- gcc-4.2.0/boehm-gc/include/private/gc_priv.h.org 2006-01-24
22:03:14.000000000 -0500
-+++ gcc-4.2.0/boehm-gc/include/private/gc_priv.h 2007-05-17
16:37:16.000000000 -0400
-@@ -468,6 +468,53 @@
- # define GETENV(name) 0
- #endif
+- set_uids_in_ptset (vi->decl, pi->pt_vars, vi->solution);
++ if (!result)
++ {
++ shared_bitmap_add (finished_solution);
++ pi->pt_vars = finished_solution;
++ }
++ else
++ {
++ pi->pt_vars = result;
++ bitmap_clear (finished_solution);
++ }
-+#if defined(DARWIN)
-+# if defined(POWERPC)
-+# if CPP_WORDSZ == 32
-+# define GC_THREAD_STATE_T ppc_thread_state_t
-+# define GC_MACH_THREAD_STATE PPC_THREAD_STATE
-+# define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE_COUNT
-+# define GC_MACH_HEADER mach_header
-+# define GC_MACH_SECTION section
-+# else
-+# define GC_THREAD_STATE_T ppc_thread_state64_t
-+# define GC_MACH_THREAD_STATE PPC_THREAD_STATE64
-+# define GC_MACH_THREAD_STATE_COUNT PPC_THREAD_STATE64_COUNT
-+# define GC_MACH_HEADER mach_header_64
-+# define GC_MACH_SECTION section_64
-+# endif
-+# elif defined(I386) || defined(X86_64)
-+# if CPP_WORDSZ == 32
-+# define GC_THREAD_STATE_T x86_thread_state32_t
-+# define GC_MACH_THREAD_STATE x86_THREAD_STATE32
-+# define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE32_COUNT
-+# define GC_MACH_HEADER mach_header
-+# define GC_MACH_SECTION section
-+# else
-+# define GC_THREAD_STATE_T x86_thread_state64_t
-+# define GC_MACH_THREAD_STATE x86_THREAD_STATE64
-+# define GC_MACH_THREAD_STATE_COUNT x86_THREAD_STATE64_COUNT
-+# define GC_MACH_HEADER mach_header_64
-+# define GC_MACH_SECTION section_64
-+# endif
-+# else
-+# error define GC_THREAD_STATE_T
-+# define GC_MACH_THREAD_STATE MACHINE_THREAD_STATE
-+# define GC_MACH_THREAD_STATE_COUNT MACHINE_THREAD_STATE_COUNT
-+# endif
-+/* Try to work out the right way to access thread state structure members.
-+ The structure has changed its definition in different Darwin versions.
-+ This now defaults to the (older) names without __, thus hopefully,
-+ not breaking any existing Makefile.direct builds. */
-+# if defined (HAS_PPC_THREAD_STATE___R0) \
-+ || defined (HAS_PPC_THREAD_STATE64___R0) \
-+ || defined (HAS_X86_THREAD_STATE32___EAX) \
-+ || defined (HAS_X86_THREAD_STATE64___RAX)
-+# define THREAD_FLD(x) __ ## x
-+# else
-+# define THREAD_FLD(x) x
-+# endif
-+#endif
- /*********************************/
- /* */
- /* Word-size-dependent defines */
---- gcc-4.2.0/boehm-gc/os_dep.c.org 2007-01-16 14:44:17.000000000 -0500
-+++ gcc-4.2.0/boehm-gc/os_dep.c 2007-05-17 16:37:28.000000000 -0400
-@@ -3371,7 +3371,7 @@
- 1. Apple's mach/xnu documentation
- 2. Timothy J. Wood's "Mach Exception Handlers 101" post to the
- omnigroup's macosx-dev list.
-- www.omnigroup.com/mailman/archive/macosx-dev/2000-June/002030.html
-+ www.omnigroup.com/mailman/archive/macosx-dev/2000-June/014178.html
- 3. macosx-nat.c from Apple's GDB source code.
- */
-
-@@ -3683,7 +3683,7 @@
- mask,
- GC_ports.exception,
- EXCEPTION_DEFAULT,
-- MACHINE_THREAD_STATE
-+ GC_MACH_THREAD_STATE
- );
- if(r != KERN_SUCCESS) ABORT("task_set_exception_ports failed");
+ if (bitmap_empty_p (pi->pt_vars))
+ pi->pt_vars = NULL;
+@@ -4691,6 +4772,8 @@
+ vi_for_tree = pointer_map_create ();
-@@ -3802,10 +3802,16 @@
- mach_msg_type_number_t exc_state_count = PPC_EXCEPTION_STATE64_COUNT;
- ppc_exception_state64_t exc_state;
- # endif
--# elif defined(I386)
-- thread_state_flavor_t flavor = i386_EXCEPTION_STATE;
-- mach_msg_type_number_t exc_state_count = i386_EXCEPTION_STATE_COUNT;
-- i386_exception_state_t exc_state;
-+# elif defined(I386) || defined(X86_64)
-+# if CPP_WORDSZ == 32
-+ thread_state_flavor_t flavor = x86_EXCEPTION_STATE32;
-+ mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE32_COUNT;
-+ x86_exception_state32_t exc_state;
-+# else
-+ thread_state_flavor_t flavor = x86_EXCEPTION_STATE64;
-+ mach_msg_type_number_t exc_state_count = x86_EXCEPTION_STATE64_COUNT;
-+ x86_exception_state64_t exc_state;
-+# endif
- # else
- # error FIXME for non-ppc darwin
- # endif
-@@ -3838,9 +3844,9 @@
-
- /* This is the address that caused the fault */
- #if defined(POWERPC)
-- addr = (char*) exc_state.dar;
--#elif defined (I386)
-- addr = (char*) exc_state.faultvaddr;
-+ addr = (char*) exc_state. THREAD_FLD(dar);
-+#elif defined (I386) || defined (X86_64)
-+ addr = (char*) exc_state. THREAD_FLD(faultvaddr);
- #else
- # error FIXME for non POWERPC/I386
- #endif
---- gcc-4.2.0/libgomp/testsuite/libgomp.c++/pr30703.C.org 2007-02-07
08:37:29.000000000 -0500
-+++ gcc-4.2.0/libgomp/testsuite/libgomp.c++/pr30703.C 2007-05-17
19:48:03.000000000 -0400
-@@ -1,5 +1,6 @@
- // PR c++/30703
- // { dg-do run }
-+// { dg-options "-shared-libgcc" { target *-*-darwin* } }
+ memset (&stats, 0, sizeof (stats));
++ shared_bitmap_table = htab_create (511, shared_bitmap_hash,
++ shared_bitmap_eq, free);
+ init_base_vars ();
+ }
- #include <omp.h>
+@@ -4923,6 +5006,7 @@
+ varinfo_t v;
+ int i;
-
-
++ htab_delete (shared_bitmap_table);
+ if (dump_file && (dump_flags & TDF_STATS))
+ fprintf (dump_file, "Points to sets created:%d\n",
+ stats.points_to_sets_created);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Fink-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fink-commits