[m-rev.] for review: upgrade boehm_gc documentation
Peter Ross
pro at missioncriticalit.com
Wed May 7 20:10:17 AEST 2003
Hi,
For fjh to review.
===================================================================
Estimated hours taken: 2
Branches: main
compiler/notes/upgrade_boehm_gc.html:
Description of how to upgrade the boehm gc to a new version.
Index: upgrade_boehm_gc.html
===================================================================
RCS file: upgrade_boehm_gc.html
diff -N upgrade_boehm_gc.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ upgrade_boehm_gc.html 7 May 2003 10:08:58 -0000
@@ -0,0 +1,145 @@
+
+<html>
+<head>
+<title>
+ How to upgrade to a new version of the boehm gc collector in Mercury.
+</title>
+</head>
+
+<body
+ bgcolor="#ffffff"
+ text="#000000"
+>
+<H1>
+ How to upgrade to a new version of the boehm gc collector in Mercury.
+</H1>
+
+<P>
+Download the required version of the
+<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/">
+boehm garbage collector</A> from the
+<A HREF="http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/">gc_source</A>
+directory.
+</P>
+
+<P>
+For the rest of this HOWTO we will assume that we download gc6.2alpha4.tar.gz.
+</P>
+
+<P>
+Untar the archive.
+<PRE>
+# zcat gc6.2alpha4.tar.gz | tar -xvf
+</PRE>
+</P>
+
+<P>
+Change into the directory.
+<PRE>
+# cd gc6.2alpha4
+</PRE>
+</P>
+
+<P>
+Import the new source on to the vendor branch.
+Note that gc_6_2alpha4 should be a tag which corresponds to
+the version of the collector that you are importing.
+<PRE>
+# cvs import -I \! mercury/boehm_gc gc gc_6_2alpha4
+</PRE>
+</P>
+
+<P>
+Unfortunately the last step can leave the repository in an inconsistent state.
+What happens is that some files have never been modified by the Mercury team,
+but they have been modified by various upgrades to the collector.
+These files live on the vendor branch.
+For example, before upgrading the collector the file, BCC_MAKEFILE,
+had the version number, 1.1.1.6.
+However if the upgrade of the collector has requires a modification to
+BCC_MAKEFILE then the new version will be 1.1.1.7 on the vendor branch
+and when you update boehm_gc you will get version 1.1.1.7 of BCC_MAKEFILE,
+which is obviously inconsistent.
+</P>
+
+<P>
+How to fix this problem.
+Change into the boehm_gc directory of a clean check out of the Mercury system.
+The issue the command
+<PRE>
+# cvs update .
+U BCC_MAKEFILE
+</PRE>
+Note all the files which have been updated.
+</P>
+
+<P>
+For each of the updated files, determine their revision number.
+Note it should be 1.1.1.x!
+<PRE>
+# cvs status BCC_MAKEFILE
+===================================================================
+File: BCC_MAKEFILE Status: Up-to-date
+
+ Working revision: 1.1.1.7 Tue Mar 5 10:16:49 1996
+ Repository revision: 1.1.1.7 /home/mercury1/repository/mercury/boehm_gc/BCC_MAKEFILE,v
+ Sticky Tag: (none)
+ Sticky Date: (none)
+ Sticky Options: (none)
+</PRE>
+</P>
+
+<P>
+We now need to undo the update.
+Repeat for all the other files.
+<PRE>
+# cvs update -j 1.1.1.7 -j 1.1.1.6 BCC_MAKEFILE
+</PRE>
+</P>
+
+<P>
+Check in the updates.
+The repository is now back in a consistent state.
+</P>
+
+<P>
+We can now merge the new version onto the main branch.
+This requires that we identify the tag which was used to tag the
+last import of the collector.
+<PRE>
+# cvs update -j gc_6_1alpha5 -j gc_6_2alpha4
+</PRE>
+</P>
+
+<P>
+<B>XXX</B>
+I think this step is unnecessary but I am not sure,
+so I will include it anyway.
+One may also have to bring the versions of the downgraded files back up to
+date.
+Note the reverse order of the -j flags from above.
+<PRE>
+# cvs update -j 1.1.1.6 -j 1.1.1.7 BCC_MAKEFILE
+</PRE>
+
+</P>
+
+<P>
+Now resolve any of the conflicts.
+Bootcheck the compiler in at least asm_fast.gc and hlc.gc.
+Then use the new system to do an install and test that the installed version
+can compile some test programs.
+This is because the update may have added some new files which may not be
+copied into the install directories.
+</P>
+
+<P>
+Now one can check it in!
+</P>
+
+<P>
+Last update was $Date$ by $Author$@cs.mu.oz.au.
+</P>
+
+</body>
+</html>
--------------------------------------------------------------------------
mercury-reviews mailing list
post: mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------
More information about the reviews
mailing list