123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- Garbage Collector (parallel iversion) for ix86 DG/UX Release R4.20MU07
- *READ* the file README.QUICK.
- You need the GCC-3.0.3 rev (DG/UX) compiler to build this tree.
- This compiler has the new "dgux386" threads package implemented.
- It also supports the switch "-pthread" needed to link correctly
- the DG/UX's -lrte -lthread with -lgcc and the system's -lc.
- Finally we support parralleli-mark for the SMP DG/UX machines.
- To build the garbage collector do:
-
- ./configure --enable-parallel-mark
- make
- make gctest
- Before you run "gctest" you need to set your LD_LIBRARY_PATH
- correctly so that "gctest" can find the shared library libgc.
- Alternatively you can do a configuration
- ./configure --enable-parallel-mark --disable-shared
-
- to build only the static version of libgc.
-
- To enable debugging messages please do:
- 1) Add the "--enable-full-debug" flag during configuration.
- 2) Edit the file linux-threads.c and uncommnect the line:
- /* #define DEBUG_THREADS 1 */ to --->
- #define DEBUG_THREADS 1
- Then give "make" as usual.
-
- In a machine with 4 CPUs (my own machine) the option parallel
- mark (aka --enable-parallel-mark) makes a BIG difference.
- Takis Psarogiannakopoulos
- University of Cambridge
- Centre for Mathematical Sciences
- Department of Pure Mathematics
- Wilberforce Road
- Cambridge CB3 0WB ,UK , <takis@XFree86.Org>
- January 2002
- Note (HB):
- The integration of this patch is currently not complete.
- The following patches against 6.1alpha3 where hard to move
- to alpha4, and are not integrated. There may also be minor
- problems with stylistic corrections made by me.
- --- ltconfig.ORIG Mon Jan 28 20:22:18 2002
- +++ ltconfig Mon Jan 28 20:44:00 2002
- @@ -689,6 +689,11 @@
- pic_flag=-Kconform_pic
- fi
- ;;
- + dgux*)
- + pic_flag='-fPIC'
- + link_static='-Bstatic'
- + wl='-Wl,'
- + ;;
- *)
- pic_flag='-fPIC'
- ;;
- @@ -718,6 +723,12 @@
- # We can build DLLs from non-PIC.
- ;;
-
- + dgux*)
- + pic_flag='-KPIC'
- + link_static='-Bstatic'
- + wl='-Wl,'
- + ;;
- +
- osf3* | osf4* | osf5*)
- # All OSF/1 code is PIC.
- wl='-Wl,'
- @@ -1154,6 +1165,22 @@
- fi
- ;;
-
- + dgux*)
- + ld_shlibs=yes
- + # For both C/C++ ommit the deplibs. This is because we relying on the fact
- + # that compilation of execitables will put them in correct order
- + # in any case and sometimes are wrong when listed as deplibs (or missing some deplibs)
- + # However when GNU ld and --whole-archive needs to be used we have the problem
- + # that if the -fPIC *_s.a archive is linked through deplibs list we ommiting crucial
- + # .lo/.o files from the created shared lib. This I think is not the case here.
- + archive_cmds='$CC -shared -h $soname -o $lib $libobjs $linkopts'
- + thread_safe_flag_spec='-pthread'
- + wlarc=
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_shlibpath_var=no
- + ac_cv_archive_cmds_needs_lc=no
- + ;;
- +
- cygwin* | mingw*)
- # hardcode_libdir_flag_spec is actually meaningless, as there is
- # no search path for DLLs.
- @@ -1497,7 +1524,7 @@
- ;;
-
- dgux*)
- - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
- + archive_cmds='$CC -shared -h $soname -o $lib $libobjs $linkopts'
- hardcode_libdir_flag_spec='-L$libdir'
- hardcode_shlibpath_var=no
- ;;
- @@ -2092,12 +2119,17 @@
- ;;
-
- dgux*)
- - version_type=linux
- + version_type=dgux
- need_lib_prefix=no
- need_version=no
- - library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
- - soname_spec='${libname}${release}.so$major'
- + library_names_spec='$libname.so$versuffix'
- + soname_spec='$libname.so$versuffix'
- shlibpath_var=LD_LIBRARY_PATH
- + thread_safe_flag_spec='-pthread'
- + wlarc=
- + hardcode_libdir_flag_spec='-L$libdir'
- + hardcode_shlibpath_var=no
- + ac_cv_archive_cmds_needs_lc=no
- ;;
-
- sysv4*MP*)
- --- ltmain.sh.ORIG Mon Jan 28 20:31:18 2002
- +++ ltmain.sh Tue Jan 29 00:11:29 2002
- @@ -1072,11 +1072,38 @@
- esac
- ;;
-
- + -thread*)
- + # DG/UX GCC 2.95.x, 3.x.x rev (DG/UX) links -lthread
- + # with the switch -threads
- + if test "$arg" = "-threads"; then
- + case "$host" in
- + i[3456]86-*-dgux*)
- + deplibs="$deplibs $arg"
- + continue
- + ;;
- + esac
- + fi
- + ;;
- +
- + -pthread*)
- + # DG/UX GCC 2.95.x, 3.x.x rev (DG/UX) links -lthread
- + # with the switch -pthread
- + if test "$arg" = "-pthread"; then
- + case "$host" in
- + i[3456]86-*-dgux*)
- + deplibs="$deplibs $arg"
- + continue
- + ;;
- + esac
- + fi
- + ;;
- +
- -l*)
- if test "$arg" = "-lc"; then
- case "$host" in
- - *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
- + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos* | i[3456]86-*-dgux*)
- # These systems don't actually have c library (as such)
- + # It is wrong in DG/UX to add -lc when creating shared/dynamic objs/libs
- continue
- ;;
- esac
- @@ -1248,6 +1275,12 @@
- temp_deplibs=
- for deplib in $dependency_libs; do
- case "$deplib" in
- + -thread*)
- + temp_deplibs="$temp_deplibs $deplib"
- + ;;
- + -pthread)
- + temp_deplibs="$temp_deplibs $deplib"
- + ;;
- -R*) temp_xrpath=`$echo "X$deplib" | $Xsed -e 's/^-R//'`
- case " $rpath $xrpath " in
- *" $temp_xrpath "*) ;;
- @@ -1709,6 +1742,13 @@
- done
- ;;
-
- + dgux)
- + # Leave mostly blank for DG/UX
- + major=
- + versuffix=".$current.$revision";
- + verstring=
- + ;;
- +
- linux)
- major=.`expr $current - $age`
- versuffix="$major.$age.$revision"
- @@ -1792,8 +1832,9 @@
-
- dependency_libs="$deplibs"
- case "$host" in
- - *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos*)
- + *-*-cygwin* | *-*-mingw* | *-*-os2* | *-*-beos* | i[3456]86-*-dgux*)
- # these systems don't actually have a c library (as such)!
- + # It is wrong in DG/UX to add -lc when creating shared/dynamic objs/libs
- ;;
- *)
- # Add libc to deplibs on all other systems.
|