changeset 78:59d97b6ba612 ecos-sw-2000-03-28

Merge from eCos master repository on 2000-03-28-19:50:47-BST
author jlarmour
date Tue, 28 Mar 2000 20:13:29 +0000
parents abb6bd809e81
children 5b39a5a40ccd
files host/tools/configtool/ChangeLog host/tools/configtool/common/win32/CTCommonDoc.cpp host/tools/configtool/standalone/common/ecosconfig.cxx host/tools/configtool/standalone/win32/Configtool.rc host/tools/configtool/standalone/win32/cdl.dsp host/tools/configtool/standalone/win32/cdl.sh host/tools/configtool/standalone/win32/res/Splsh16.bmp host/tools/ecostest/ChangeLog host/tools/ecostest/common/eCosTestDownloadFilter.cpp host/tools/ecostest/common/eCosTestMonitorFilter.cpp host/tools/ecostest/common/eCosTestMonitorFilter.h host/tools/ecostest/common/eCosTestSerialFilter.cpp host/tools/ecostest/common/ser_filter.cpp host/tools/ecostest/unix/Makefile host/tools/ecostest/win32/eCosTest.dsp host/tools/pkgadmin/ChangeLog host/tools/pkgadmin/win32/PkgAdmin.rc packages/ChangeLog packages/compat/uitron/current/ChangeLog packages/compat/uitron/current/include/uit_ifnc.h packages/compat/uitron/current/tests/testintr.cxx packages/devs/wallclock/current/ChangeLog packages/devs/wallclock/current/cdl/wallclock.cdl packages/devs/wallclock/current/src/sh3.cxx packages/ecos.db packages/ecosadmin.tcl packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/include/arm_stub.h packages/hal/arm/arch/current/include/hal_arch.h packages/hal/arm/arch/current/src/arm_stub.c packages/hal/arm/pid/current/ChangeLog packages/hal/arm/pid/current/src/hal_diag.c packages/hal/common/current/ChangeLog packages/hal/common/current/cdl/debugging.cdl packages/hal/common/current/include/hal_stub.h packages/hal/common/current/src/generic-stub.c packages/hal/i386/arch/current/ChangeLog packages/hal/i386/arch/current/include/basetype.h packages/hal/mips/jmr3904/current/ChangeLog packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt packages/hal/mips/sim/current/ChangeLog packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt packages/hal/mips/tx39/current/ChangeLog packages/hal/mips/tx39/current/src/mips_tx39.ld packages/hal/sh/arch/current/ChangeLog packages/hal/sh/arch/current/cdl/hal_sh.cdl packages/hal/sh/arch/current/include/hal_cache.h packages/hal/sh/arch/current/include/mod_7708.h packages/hal/sh/arch/current/include/sh_regs.h packages/hal/sh/edk/current/ChangeLog packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl packages/infra/current/ChangeLog packages/infra/current/include/cyg_ass.h packages/infra/current/include/cyg_trac.h packages/infra/current/include/cyg_type.h packages/infra/current/src/buffer.cxx packages/infra/current/src/diag.cxx packages/infra/current/src/fancy.cxx packages/infra/current/src/null.cxx packages/infra/current/src/simple.cxx packages/infra/current/src/tcdiag.cxx packages/io/common/current/ChangeLog packages/io/pci/current/ChangeLog packages/io/serial/current/ChangeLog packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl packages/kernel/current/ChangeLog packages/kernel/current/src/common/clock.cxx packages/kernel/current/src/common/thread.cxx packages/kernel/current/src/sched/sched.cxx packages/kernel/current/src/sync/mutex.cxx packages/kernel/current/tests/dhrystone.c packages/kernel/current/tests/except1.cxx packages/kernel/current/tests/kcache1.c packages/kernel/current/tests/kexcept1.c packages/kernel/current/tests/stress_threads.c packages/language/c/libc/current/ChangeLog packages/language/c/libc/current/src/clibincl/stream.inl packages/language/c/libm/current/ChangeLog
diffstat 84 files changed, 1655 insertions(+), 1658 deletions(-) [+]
line wrap: on
line diff
--- a/host/tools/configtool/ChangeLog
+++ b/host/tools/configtool/ChangeLog
@@ -1,4 +1,18 @@
-2000-03-10 Simon FitzMaurice <sdf@redhat.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
+
+	* standalone/win32/cdl.sh,
+	  standalone/win32/cdl.dsp:
+
+	Remove obsolete files.
+
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
+
+	* common/win32/CTCommonDoc.cpp:
+
+	Modify QualifyDocURL() to accommodate absolute HTML
+	file paths returned by libCDL.
+
+2000-03-22 Simon FitzMaurice <sdf@redhat.co.uk>
   * standalone\win32\MainFrm.cpp
 
   Include usr/bin in path.
@@ -11,8 +25,6 @@ 2000-03-21  John Dallaway  <jld@cygnus.c
 	Modify GetURL() to return the correct default URL where
 	the document has not been specified.
 
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
-
 	* standalone/win32/Configtool.rc:
 
 	Update IDS_RED_HAT_HOME_URL value.
@@ -23,7 +35,7 @@ 2000-03-20  John Dallaway  <jld@cygnus.c
 
 2000-03-20  John Dallaway  <jld@cygnus.co.uk>
 
-	* standalone/common/common/build.cxx:
+	* common/common/build.cxx:
 
 	Modify resolve_tokens() to avoid breaking make variables
 	specified in CDL custom rule targets and dependencies.
@@ -34,6 +46,15 @@ 2000-03-15  John Dallaway  <jld@cygnus.c
 
 	Tweak main frame menu item text for eCos web pages.
 	Tweak 'about' dialog box text for consistency.
+	Update config tool version number to 1.3.2.
+
+	* standalone/common/ecosconfig.cxx:
+
+	Update ecosconfig version number to 1.3.2.
+
+	* standalone/win32/res/Splsh16.bmp:
+
+	Update config tool splash screen to version 1.3.2.
 
 2000-03-13  John Dallaway  <jld@cygnus.co.uk>
 
@@ -181,8 +202,6 @@ 2000-02-23  John Dallaway  <jld@cygnus.c
 
 2000-02-22 Simon FitzMaurice <sdf@redhat.co.uk>
   * common\win32\CTUtils.*
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigtoolDoc.cpp
  
   CTUtils has moved to utils folder.
   HTMLHelpLinkFileName and ShowHtmlHelp are now in doc class.
@@ -212,7 +231,7 @@ 2000-02-21 Simon FitzMaurice <sdf@redhat
 
 2000-02-18  Drew Moseley  <dmoseley@cygnus.com>
 
-	* common/win32/ConfigItem.cpp: Support for CodeCoordinates in the plugin
+	* common/win32/ConfigItem.cpp: Support for CodeCoordinates
 
 2000-02-18  John Dallaway  <jld@cygnus.co.uk>
 
@@ -246,7 +265,6 @@ 2000-02-17 Simon FitzMaurice <sdf@redhat
 
 2000-02-16 Simon FitzMaurice <sdf@redhat.co.uk>
   * common\win32\ConfigViewOptionsDialog.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
@@ -274,8 +292,6 @@ 2000-02-15 Simon FitzMaurice <sdf@redhat
     common\win32\ConfigToolDoc.h
     common\win32\FolderDialog.cpp
     common\win32\NewFolderDialog.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
     standalone\win32\ConfigToolDoc.cpp
     
   Add error checking to the document-saving process.
@@ -387,29 +403,6 @@ 2000-02-14 Simon FitzMaurice <sdf@redhat
     common\win32\stdafx.h
     common\win32\thinsplitter.cpp
     common\win32\thinsplitter.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\MultiDocSECWorksheet.cpp
-    plugin\win32\MultiDocSECWorksheet.h
-    plugin\win32\NullDoc.cpp
-    plugin\win32\NullDoc.h
-    plugin\win32\NullView.cpp
-    plugin\win32\NullView.h
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-    plugin\win32\RunTest.cpp
-    plugin\win32\RunTest.h
-    plugin\win32\SelectTestsDialog.cpp
-    plugin\win32\SelectTestsDialog.h
-    plugin\win32\eCos.cpp
-    plugin\win32\eCosPlugin.cpp
-    plugin\win32\eCosPlugin.h
-    plugin\win32\eCosres.cpp
     standalone\win32\BCMenu.cpp
     standalone\win32\BCMenu.h
     standalone\win32\BinDirDialog.cpp
@@ -430,14 +423,6 @@ 2000-02-14 Simon FitzMaurice <sdf@redhat
 
   Update copyright headers
 
-2000-02-14 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
-
-  More changes from Piet.
-
 2000-02-11  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\common\ecosconfig.cxx:
@@ -452,15 +437,6 @@ 2000-02-09 Simon FitzMaurice <sdf@redhat
   Avoid crash in HTMLHelp 1.3 when "What's This?" windows deactivated.
   Provide hook to disable "What's This?" help for dialogs requiring context menus.
 
-2000-02-08 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp
-
-  Use isNull rather than ptr()
-
-2000-02-08  Rupen Patel <rpatel@redhat.com>
-	
-  * plugin\win32\Project.h,.cpp: Some fixes for reference counting.
-
 2000-02-08  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\Configtool.rc:
@@ -477,16 +453,6 @@ 2000-02-08 Simon FitzMaurice <sdf@redhat
     common\win32\ConfigItem.cpp
     common\win32\IdleMessage.cpp
     common\win32\Thermometer.cpp
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-    plugin\win32\RunTest.cpp
-    plugin\win32\RunTest.h
-    plugin\win32\eCosPlugin.cpp
 
   Changes from Piet for new ref counting interface.
 
@@ -533,11 +499,6 @@ 2000-02-07 Simon FitzMaurice <sdf@redhat
 
   Remove unused variables (in particular, timer which was being killed but not created)
 
-2000-02-07 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\ConfigTool.cpp
-
-  Correct reference to CConfigToolApp
-
 2000-02-04 Simon FitzMaurice <sdf@redhat.co.uk>
   * standalone\win32\Configtool.dsp
   
@@ -560,10 +521,8 @@ 2000-02-04 Simon FitzMaurice <sdf@redhat
     common\win32\mltview.cpp
     common\win32\mltview.h
     common\win32\stdafx.h
-    plugin\win32\CTMain.h
     standalone\win32\OutputView.cpp
     standalone\win32\OutputView.h
-    plugin\win32\ConfigTool.cpp
 
   Correct for abnormal behaviour of vsnprintf under NT.
 
@@ -577,7 +536,6 @@ 2000-02-04 Simon FitzMaurice <sdf@redhat
 
 2000-02-04 Simon FitzMaurice <sdf@redhat.co.uk>
   * common\win32\CTCommonres.h
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
 
   These files cannot have copyright banners.
@@ -592,7 +550,6 @@ 2000-02-03 Simon FitzMaurice <sdf@redhat
 
   * standalone\win32\ConfigToolDoc.cpp
     standalone\win32\MainFrm.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     common\win32\RulesList.cpp
     common\win32\RulesView.cpp
 
@@ -617,11 +574,6 @@ 2000-02-02 Simon FitzMaurice <sdf@redhat
   Ensure when package is unloaded stale tree handles are not accessed.
 
 2000-02-02 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp
-
-  Another change from Rupen.
-
-2000-02-02 Simon FitzMaurice <sdf@redhat.co.uk>
   * common\win32\FailingRulesDialog.cpp
 
   Rework to avoid use of CConfigItems (because fixes may involve packages not yet loaded)
@@ -629,10 +581,6 @@ 2000-02-02 Simon FitzMaurice <sdf@redhat
 2000-02-02 Simon FitzMaurice <sdf@redhat.co.uk>
   * common\win32\SectionGeneralPage.cpp
     common\win32\SectionRelocationPage.cpp
-    plugin\win32\CTMain.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\RunTest.cpp
 
   Changes required by IDE API changes.
 
@@ -737,28 +685,6 @@ 2000-02-01 Simon FitzMaurice <sdf@redhat
     common\win32\thinsplitter.cpp 
     common\win32\thinsplitter.h 
     common\win32\treectrltoview.inl 
-    plugin\win32\CTMain.cpp 
-    plugin\win32\CTMain.h 
-    plugin\win32\ConfigTool.cpp 
-    plugin\win32\ConfigTool.h 
-    plugin\win32\ConfigtoolDoc.cpp 
-    plugin\win32\MultiDocSECWorksheet.cpp 
-    plugin\win32\MultiDocSECWorksheet.h 
-    plugin\win32\NullDoc.cpp 
-    plugin\win32\NullDoc.h 
-    plugin\win32\NullView.cpp 
-    plugin\win32\NullView.h 
-    plugin\win32\Project.cpp 
-    plugin\win32\Project.h 
-    plugin\win32\ProjectManager.cpp 
-    plugin\win32\ProjectManager.h 
-    plugin\win32\SelectTestsDialog.cpp 
-    plugin\win32\SelectTestsDialog.h 
-    plugin\win32\eCos.cpp 
-    plugin\win32\eCos.rc 
-    plugin\win32\eCosPlugin.cpp 
-    plugin\win32\eCosres.cpp 
-    plugin\win32\eCosres.h 
     standalone\win32\BCMenu.cpp 
     standalone\win32\BCMenu.h 
     standalone\win32\BinDirDialog.cpp 
@@ -785,17 +711,6 @@ 2000-02-01 Simon FitzMaurice <sdf@redhat
 
   Normalize copyright headers.
 
-2000-02-01 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\Configtool.dsp
-
-  Share cdl intermediate file location with IDE.
-
-2000-02-01 Simon FitzMaurice <sdf@redhat.co.uk>
-  * plugin\win32\RunTest.cpp
-    plugin\win32\RunTest.h
-
-  Use an event to monitor debugger state changes.  
-
 2000-01-31 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommon.rc
 
@@ -826,7 +741,6 @@ 2000-01-28 Simon FitzMaurice  <sdf@redha
 
   * common\win32\CTUtils.cpp
     common\win32\CTUtils.h
-    plugin\win32\ConfigTool.cpp
     standalone\win32\Configtool.cpp
 
   Provide function to return "link2.htm" full path name; delete this file on app exit.
@@ -894,10 +808,6 @@ 2000-01-21 Simon FitzMaurice  <sdf@redha
 
 2000-01-21 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\mltview.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\CTres.h
     standalone\win32\Configtool.h
 
@@ -920,13 +830,6 @@ 2000-01-21  John Dallaway  <jld@redhat.c
 
 2000-01-21  John Dallaway  <jld@redhat.co.uk>
 
-	* plugin\win32\Project.cpp:
-
-	Modify MakeMakeFile() to define the LDFLAGS makefile
-	variable.
-
-2000-01-21  John Dallaway  <jld@redhat.co.uk>
-
 	* common\win32\CTCommonDoc.cpp:
 
 	Modify OnFileImport() to accommodate recent libCDL API
@@ -946,10 +849,6 @@ 2000-01-19 Simon FitzMaurice  <sdf@redha
 
     Move help about text to standlone-specific resource and update.
 
-  * plugin\win32\CTMain.cpp
-
-    Ensure repository closed and reopened for pkgadmin dialog
-
 2000-01-19  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\win32\res\Splsh16.bmp:
@@ -957,16 +856,13 @@ 2000-01-19  John Dallaway  <jld@redhat.c
 	Update splash screen for release 1.3.
 
 2000-01-18 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\eCos.rc
-    standalone\win32\Configtool.rc
+  * standalone\win32\Configtool.rc
 
   Update version info.
 
 2000-01-18 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommon.rc
     common\win32\CTCommonDoc.cpp
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\Configtool.rc
     standalone\win32\MainFrm.cpp
@@ -978,7 +874,6 @@ 2000-01-18 Simon FitzMaurice  <sdf@redha
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
     common\win32\ControlView.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
 
   Move code appropriate to package unloading etc... to common function RegenerateData()
@@ -987,22 +882,6 @@ 2000-01-18 Simon FitzMaurice  <sdf@redha
 
   Do not display toolbars too early.
 
-2000-01-18 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-
-  Improve warning message
-
-  * plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-
-  Disengage CProject from ref counting to avoid problems in closing projects
-
-  * plugin\win32\RunTest.cpp
-    plugin\win32\RunTest.h
-
-  Tidy
-
 2000-01-17 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\ConfigToolDoc.h
 
@@ -1019,11 +898,6 @@ 2000-01-14 Simon FitzMaurice  <sdf@redha
 
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
 
@@ -1031,19 +905,6 @@ 2000-01-14 Simon FitzMaurice  <sdf@redha
   Corrected action on save document if user cancels from resolve conflicts dialog.
 
 2000-01-13 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * common\win32\CTCommonDoc.cpp
-    common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-
-  Ensure unwanted items are removed
-
-2000-01-13 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp
-
-  Partial fix for CR 901975
-
   * standalone\win32\BCMenu.cpp
     standalone\win32\BCMenu.h
 
@@ -1075,26 +936,9 @@ 2000-01-12  John Dallaway  <jld@redhat.c
 	logical drives containing the build, install and
 	repository trees if this information is not yet known.
 
-2000-01-12 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ConfigtoolDoc.cpp
-    standalone\win32\ConfigToolDoc.cpp
-
-  CR 901997
-
-  * plugin\win32\project.cpp
-
-  Introduce launcher attribute-setting code (as comments)
-
-  * plugin\win32\projectmanager.cpp
-
-  Avoid "only 1 eCos project open" message for test projects
-
 2000-01-11  John Dallaway  <jld@redhat.co.uk>
 
 	* common\win32\ConfigToolDoc.h,
-	  plugin\win32\ConfigtoolDoc.cpp,
-	  plugin\win32\Project.cpp,
-	  plugin\win32\ProjectManager.cpp,
 	  standalone\win32\ConfigToolDoc.cpp:
 
 	Restrict use of short file paths to the generation of
@@ -1122,7 +966,6 @@ 2000-01-11 Simon FitzMaurice  <sdf@redha
     common\win32\PropertiesView.cpp
     common\win32\RulesView.cpp
     common\win32\mltview.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.rc
     standalone\win32\MainFrm.cpp
@@ -1138,12 +981,10 @@ 2000-01-11 Simon FitzMaurice  <sdf@redha
     common\win32\FailingRulesDialog.cpp
     common\win32\FailingRulesDialog.h
     common\win32\StdAfx.cpp
-    plugin\win32\eCos.rc
 
   Update conflicts dialog to reflect EID.
 
   * standalone\win32\ConfigToolDoc.cpp
-    plugin\win32\ConfigToolDoc.cpp
     common\win32\CellView.cpp
     common\win32\ControlView.cpp
     common\win32\ControlView.h
@@ -1175,12 +1016,9 @@ 2000-01-11  John Dallaway  <jld@redhat.c
 
 2000-01-10  John Dallaway  <jld@redhat.co.uk>
 
-	* plugin\win32\ConfigtoolDoc.cpp,
-	  plugin\win32\eCos.rc,
-	  plugin\win32\eCosres.h,
-	  common\win32\CTCommon.rc,
-	  common\win32\CTCommonres.h:
-
+	* common\win32\CTCommon.rc,
+	  common\win32\CTCommonres.h,
+	  
 	Modify the constructor to calculate the default
 	repository location from the plug-in installation
 	location if the per-user registry value is not
@@ -1188,24 +1026,11 @@ 2000-01-10  John Dallaway  <jld@redhat.c
 
 2000-01-10  John Dallaway  <jld@redhat.co.uk>
 
-	* plugin\win32\CTMain.cpp:
-
-	Modify OnToolsTemplate() to execute user-requested
-	changes to the hardware template selection by calling
-	SelectHardware().
-
-2000-01-10  John Dallaway  <jld@redhat.co.uk>
-
 	* standalone\win32\CTres.h,
 	  standalone\win32\CTres.cpp,
 	  standalone\win32\CdlTemplatesDialog.cpp (remove),
 	  standalone\win32\CdlTemplatesDialog.h (remove),
 	  standalone\win32\Configtool.rc,
-	  plugin\win32\eCosres.h,
-	  plugin\win32\eCosres.cpp,
-	  plugin\win32\CdlTemplatesDialog.cpp (remove),
-	  plugin\win32\CdlTemplatesDialog.h (remove),
-	  plugin\win32\eCos.rc,
 	  common\win32\CTCommon.rc,
 	  common\win32\CTCommonres.cpp,
 	  common\win32\CTCommonres.h,
@@ -1217,10 +1042,6 @@ 2000-01-10  John Dallaway  <jld@redhat.c
 	between the standalone and plug-in versions of
 	the eCos configuration tool.
 
-	* plugin\win32\CTMain.cpp:
-
-	Change menu item text: "Template..."->"Templates..."
-
 2000-01-10  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\win32\CTres.h,
@@ -1233,67 +1054,24 @@ 2000-01-10  John Dallaway  <jld@redhat.c
 	the standalone and plug-in versions of the dialog.
 
 2000-01-07 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ConfigtoolDoc.cpp
-    standalone\win32\ConfigToolDoc.cpp
+  * standalone\win32\ConfigToolDoc.cpp
 
   Treat the result of ResolveGlobalConflicts correctly
 
 2000-01-07 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ProjectManager.cpp
-
-  Allow only one eCos project to be open at any given time.  
-
-2000-01-07 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\PropertiesList.cpp
 
   CR 901982
 
-2000-01-07 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\SelectTestsDialog.cpp
-    plugin\win32\SelectTestsDialog.h
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.cpp
-    plugin\win32\eCosres.h
-
-  Add context-sensitive help for select tests and template dialogs.
-  Add All and None buttons to select tests dialog.
-  Ensure horz scrollbar appears for select tests dialog.
-
-2000-01-07 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-
-  Reinstate code to close all projects when administration dialog displayed
-
-2000-01-07  John Dallaway  <jld@redhat.co.uk>
-
-	* plugin\win32\Project.cpp:
-
-	Modify AddFile(), AddCustomRule(), LibraryDir()
-	and MakeMakeFile() to accommodate spaces in file paths.
-
 2000-01-06 Simon FitzMaurice  <sdf@redhat.co.uk>
   *  common\win32\ControlView.cpp
 
   CR 901981
 
-2000-01-06 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
-
-  Changes required for addRef() code
-
-2000-01-06 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ConfigTool.cpp  
-
-  Fix crash if "Choose Repository" dialog is cancelled.
-
 2000-01-05  John Dallaway  <jld@redhat.co.uk>
 
 	* common\win32\CTCommonDoc.cpp,
 	  standalone\win32\ConfigToolDoc.cpp,
-	  plugin\win32\ConfigtoolDoc.cpp,
 	  common\win32\ConfigTool.h:
 
 	Modify SelectTemplate() to accommodate a template
@@ -1307,30 +1085,19 @@ 2000-01-05  John Dallaway  <jld@redhat.c
 	Modify OpenRepository() to use the new template version
 	member variable.
 
-	* plugin\win32\CTMain.cpp,
-	  standalone\win32\ConfigToolDoc.cpp:
+	* standalone\win32\ConfigToolDoc.cpp,
 
 	Pass template version parameter in all calls to
 	CConfigToolDoc::SelectTemplate().
 
-	* plugin\win32\CdlTemplatesDialog.cpp,
-	  plugin\win32\CdlTemplatesDialog.h,
-	  plugin\win32\eCos.rc,
-	  plugin\win32\eCosres.h,
-	  standalone\win32\CdlTemplatesDialog.cpp,
+	* standalone\win32\CdlTemplatesDialog.cpp,
 	  standalone\win32\CdlTemplatesDialog.h,
 	  standalone\win32\Configtool.rc,
-	  standalone\win32\CTres.h:
+	  standalone\win32\CTres.h,
 
 	Add new template version combo box to the template selection
 	dialog.
 
-2000-01-05  John Dallaway  <jld@redhat.co.uk>
-
-	* plugin\win32\Project.cpp:
-
-	Apply reference counting patch from Piet Obermeyer.
-
 2000-01-04  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\win32\Configtool.rc:
@@ -1339,7 +1106,6 @@ 2000-01-04  John Dallaway  <jld@redhat.c
 
 1999-12-22 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonres.cpp
-    plugin\win32\eCosres.cpp
     standalone\win32\CTres.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.dsp
@@ -1359,10 +1125,6 @@ 1999-12-21 Simon FitzMaurice  <sdf@redha
     common\win32\eCosDialog.cpp
     common\win32\eCosDialog.h
     common\win32\stdafx.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\eCos.cpp
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
@@ -1387,8 +1149,6 @@ 1999-12-21  John Dallaway  <jld@redhat.c
 
 	* common\win32\CTCommonDoc.cpp
 	  common\win32\ConfigToolDoc.h
-	  plugin\win32\CTMain.cpp
-	  plugin\win32\CTMain.h
 	  standalone\win32\CTres.h
 	  standalone\win32\ConfigToolDoc.cpp
 	  standalone\win32\Configtool.rc
@@ -1397,10 +1157,6 @@ 1999-12-21  John Dallaway  <jld@redhat.c
 	minimal eCos configuration save files. Provide
 	an implementation of the export function.
 
-	* plugin\win32\Project.h:
-
-	Remove obsolete #include to fix build error.
-
 1999-12-17 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\FileName.cpp
     common\win32\FileName.h
@@ -1420,11 +1176,7 @@ 1999-12-17 Simon FitzMaurice  <sdf@redha
 
   Use common code between Dialog and Property page variants of CSH classes.
 
-  * plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\eCos.cpp
-    standalone\win32\ConfigToolDoc.cpp
+  * standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.dsp
     standalone\win32\Configtool.h
@@ -1465,7 +1217,6 @@ 1999-12-17 Simon FitzMaurice  <sdf@redha
 
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
 
   Ensure minimal work on saving an unmodified doc
@@ -1474,10 +1225,6 @@ 1999-12-17 Simon FitzMaurice  <sdf@redha
 
   Ensure current dir selected in build tools dialog
 
-  * plugin\win32\CTMain.cpp
-
-  Remove compilation warning
-
 1999-12-17  John Dallaway  <jld@redhat.co.uk>
 
 	* common\win32\memmap.cpp:
@@ -1496,11 +1243,6 @@ 1999-12-16 Simon FitzMaurice  <sdf@redha
   Ensure standalone config tool view menu checkmarks assume state on app initialisation
 
 1999-12-16 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ConfigtoolDoc.cpp
-
-  901455-CR : ensure max map size set
-
-1999-12-16 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\FailingRulesDialog.cpp
 
   Prevent crash in release build: ASSERT->VERIFY
@@ -1509,17 +1251,11 @@ 1999-12-16 Simon FitzMaurice  <sdf@redha
 
   Prevent crash in release build: test on NULL!=GetFocus()
 
-1999-12-15 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp : match on tail of target name for shells, to avoid old shell tools in templates
-
 1999-12-14 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
     common\win32\FileName.cpp
     common\win32\FileName.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
     standalone\win32\ConfigToolDoc.cpp
 
   Work around problem w\ spaces in filenames: remove spaces from install tree, build tree and repository
@@ -1547,18 +1283,11 @@ 1999-12-13 Simon FitzMaurice  <sdf@redha
     common\win32\CTCommonres.h
     common\win32\eCosDialog.h
     common\win32\eCosPropertyPage.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\Configtool.rc
 
   Move IDR_MLTBAR and IDB_BITMAP2 to common resources
 
-  * plugin\win32\Project.cpp
-
-  Add -c compilation option to compensate for change in IDE project API semantics
-    
   * standalone\win32\ConfigToolDoc.cpp
 
   Improve handling when tools admin
@@ -1568,7 +1297,6 @@ 1999-12-13  John Dallaway  <jld@redhat.c
 	* common\win32\CTCommonDoc.cpp,
 	  common\win32\ConfigItem.cpp,
 	  common\win32\ConfigToolDoc.h,
-	  plugin\win32\CdlTemplatesDialog.cpp,
 	  standalone\win32\CdlTemplatesDialog.cpp:
 
 	Synchronize with recent libCDL API changes.
@@ -1590,39 +1318,26 @@ 1999-12-13  John Dallaway  <jld@redhat.c
 1999-12-10  John Dallaway  <jld@redhat.co.uk>
 
 	* common\common\build.cxx.
-	  plugin\win32\Project.cpp:
 
 	Define the make variable OBJCOPY for use by CDL custom
 	rules.
 
 1999-12-09 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonres.h
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     
-  Renumber resource IDs (CR 901703)
+  Renumber resource IDs  (CR 901703)
+
 
   * common\win32\CTOptionsDialog.cpp
     common\win32\CTOptionsDialog.h
 
   Disable buttons as appropriate on dialog initialization (CR 901688)
 
-  * plugin\win32\CTMain.cpp
-
-  Add elipses where appropriate (CR 901686)
-
-  * plugin\win32\eCos.rc
-
-  Enable OK button (CR 901687)
-
 1999-12-09 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommon.rc
     common\win32\CTCommonDoc.cpp
     common\win32\CTCommonres.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
     standalone\win32\MainFrm.cpp
@@ -1632,19 +1347,12 @@ 1999-12-09 Simon FitzMaurice  <sdf@redha
 1999-12-08 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.rc
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
 
-  Provide test selection in plugin.  
   Use IDE debugger as far as possible (not functional yet).
   Call pkgadmin as built-in dialog
 
@@ -1660,10 +1368,6 @@ 1999-12-07 Simon FitzMaurice  <sdf@redha
     
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
     standalone\win32\ConfigToolDoc.cpp
 
     Use function to determine test executable names
@@ -1672,16 +1376,6 @@ 1999-12-07 Simon FitzMaurice  <sdf@redha
 
     Remove unused variable
 
-  * plugin\win32\eCos.rc
-    standalone\win32\Configtool.rc
-    standalone\win32\MainFrm.cpp
-
-    Remove references to testtool and ecostest
-
-  * plugin\win32\CTMain.cpp
-
-    Launch pkgadmin as appropriate
-
 1999-12-07  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\common\cdl_exec.cxx,
@@ -1705,16 +1399,6 @@ 1999-12-06 Simon FitzMaurice  <sdf@redha
 
   Overhaul CSubprocess class
 
-  * plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\eCosPlugin.cpp
-
-  Remove includes of subprocess.h
-  Add module state maintaining calls (for if we ever wish to make plugin a regular DLL)
-
 1999-12-06  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\common\cdl_exec.cxx,
@@ -1756,21 +1440,6 @@ 1999-12-02 Simon FitzMaurice  <sdf@redha
 
   Circumvent 512 character limit in TRACE
 
-  * plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-
-  Place test executables correctly in install tree
-
-1999-12-02 Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-
-  Use <PACKAGE> and <PREFIX> tokens in custom rules.
-  Expect a sent (not posted) BUILD_STARTED.
-
 1999-12-02  John Dallaway  <jld@redhat.co.uk>
 
 	* common\common\build.cxx:
@@ -1800,11 +1469,6 @@ 1999-12-01 Simon FitzMaurice  <sdf@redha
   
   Place exception handler around get_build_info() call
   
-  * plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-
-  Add global conflict resolution to plugin
-
 1999-12-01 Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\CTOptionsDialog.cpp
@@ -1812,7 +1476,6 @@ 1999-12-01 Simon FitzMaurice  <sdf@redha
     common\win32\ConfigToolDoc.h
     common\win32\FailingRulesDialog.cpp
     common\win32\FailingRulesDialog.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\MainFrm.cpp
 
@@ -1823,10 +1486,6 @@ 1999-12-01 Simon FitzMaurice  <sdf@redha
 
   Introduce file-finding utility function.
 
-  * plugin\win32\Project.cpp
-
-  Translate <PREFIX> and <REPOSITORY> in custom rule dependencies
-
 1999-12-01  John Dallaway  <jld@redhat.co.uk>
 
 	* common\win32\CTCommon.rc:
@@ -1873,22 +1532,13 @@ 1999-11-26  Simon FitzMaurice  <sdf@redh
   * common\win32\CTCommon.rc
     common\win32\CTCommonres.h
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\eCos.rc
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.rc
 
   Moved sourceware references to be standalone-specific
 
-  * plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-
-  Use CDL information to calculate test project contents
-
   * common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp
 
   Do not complain about failing rules if document already saved
 
@@ -1925,8 +1575,6 @@ 1999-11-26  Simon FitzMaurice  <sdf@redh
 1999-11-26  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
 
@@ -1941,7 +1589,6 @@ 1999-11-26  Simon FitzMaurice  <sdf@redh
     common\win32\CTOptionsDialog.cpp
     common\win32\CTOptionsDialog.h
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\MainFrm.cpp
@@ -1971,7 +1618,6 @@ 1999-11-25  Simon FitzMaurice  <sdf@redh
   * common\win32\CTUtils.cpp
     common\win32\CTUtils.h
     common\win32\ConfigToolDoc.h
-    plugin\win32\CTMain.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.h
@@ -1986,18 +1632,11 @@ 1999-11-25  Simon FitzMaurice  <sdf@redh
 1999-11-25  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\win32\ConfigToolDoc.cpp,
-	  plugin\win32\ConfigToolDoc.cpp:
 
 	Modify SwitchMemoryLayout() to copy default memory
 	layout files only where they do not already exist
 	at the destination location.
 
-	* plugin\win32\ConfigToolDoc.cpp:
-
-	Modify SetPathName() to generate the build and install
-	directory paths by appending "_build" and "_install" respectively
-	to the root name of the config save file.
-
 	* common\win32\ConfigItem.cpp:
 
 	Modify the string version of SetValue() to reference the
@@ -2014,7 +1653,6 @@ 1999-11-25  Simon FitzMaurice  <sdf@redh
     common\win32\ConfigItem.cpp
     common\win32\ConfigItem.h
     common\win32\ControlView.cpp
-    plugin\win32\CTMain.h
   Normalize IsActive, IsEnabled functions in CConfigitem.
   Removed unused members from CConfigItem
   Removed m_nIndex from CConfigItem
@@ -2039,7 +1677,6 @@ 1999-11-25  Simon FitzMaurice  <sdf@redh
     common\win32\ControlView.cpp
     common\win32\SplitterWndEx.cpp
     common\win32\SplitterWndEx.h
-    plugin\win32\CTMain.h
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
 
@@ -2077,20 +1714,13 @@ 1999-11-25  John Dallaway  <jld@redhat.c
 	to the root name of the config save file.
 
 1999-11-25  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-    standalone\win32\ConfigToolDoc.cpp
+  * standalone\win32\ConfigToolDoc.cpp
 
   Use "native" in the case of no toolchain prefix.
 
 1999-11-25  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
@@ -2101,16 +1731,6 @@ 1999-11-25  Simon FitzMaurice  <sdf@redh
   Complete changes for build paths and remove yet more unused variables.
   Place registry keys in string resources.
 
-1999-11-25  John Dallaway  <jld@redhat.co.uk>
-
-	* plugin\win32\Project.cpp:
-
-	Modify MakeMakeFile() to add build variables to
-	the temporary makefiles which match those of the
-	standalone eCos config tool. This should ensure
-	portability of custom rules between the standalone
-	tool and the plug-in.
-
 1999-11-24  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommon.rc
     common\win32\CTCommonDoc.cpp
@@ -2130,7 +1750,6 @@ 1999-11-24  Simon FitzMaurice  <sdf@redh
     common\win32\RulesView.cpp
     common\win32\eCosDialog.cpp
     common\win32\mltview.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
     standalone\win32\MainFrm.cpp
@@ -2151,11 +1770,6 @@ 1999-11-24  John Dallaway  <jld@redhat.c
 	command line. Such paths are not understood universally
 	by the Cygwin tcl library.
 
-1999-11-23  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ProjectManager.cpp
-
-  Fix crash in release build
-
 1999-11-23  John Dallaway  <jld@redhat.co.uk>
 
 	* standalone\common\ecosconfig.cxx,
@@ -2186,7 +1800,6 @@ 1999-11-19  Simon FitzMaurice  <sdf@redh
     common\win32\ConfigToolDoc.h
     common\win32\ControlView.cpp
     common\win32\ControlView.h
-    plugin\win32\CTMain.cpp
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
 
@@ -2223,7 +1836,6 @@ 1999-11-18  Simon FitzMaurice  <sdf@redh
     common\win32\eCosDialog.h
     common\win32\eCosPropertyPage.h
     common\win32\mltview.cpp
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.dsp
@@ -2309,11 +1921,6 @@ 1999-11-16  Simon FitzMaurice  <sdf@redh
     common\win32\cellview.h
     common\win32\mltview.cpp
     common\win32\mltview.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
@@ -2392,10 +1999,6 @@ 1999-11-12  Simon FitzMaurice  <sdf@redh
   Remove some obsolete test code, add elipsis to "Unload"
   Correct painting problem on unload
 
-  * plugin\win32\CTMain.cpp
-
-  Correct bug in window restoration code
-
   * common\win32\ConfigToolDoc.h
 
   Remove obsolete FileNameChanged hint
@@ -2416,15 +2019,6 @@ 1999-11-12  Simon FitzMaurice  <sdf@redh
 
 1999-11-12  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\Project.cpp:
-
-  Modify AddFile() to add the package version directory
-  of the build tree to the include path for each file.
-  This enables the C pre-processor to find header files
-  generated by custom build rules.
-
-1999-11-12  John Dallaway  <jld@redhat.co.uk>
-
   * common\win32\mltview.cpp:
 
   Increase inter-region spacing to match client area
@@ -2445,8 +2039,8 @@ 1999-11-11  Simon FitzMaurice  <sdf@redh
     common\win32\eCosPropertyPage.h
   Make HelpID() const 
 
-  * plugin\win32\ConfigTool.cpp
-    common\win32\CTCommonDoc.cpp
+  * common\win32\CTCommonDoc.cpp
+    
   Prevent control view displaying too early
 
   * common\win32\ControlView.cpp
@@ -2455,10 +2049,6 @@ 1999-11-11  Simon FitzMaurice  <sdf@redh
   * common\win32\RulesView.cpp
   Remove Resolve  context menu item
 
-  * plugin\win32\eCos.rc
-    plugin\win32\res\MLTbar.bmp
-  Change to 16 bits (must match other toolbar resources)
-
 1999-11-11  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\mltview.cpp
     common\win32\mltview.h
@@ -2496,10 +2086,6 @@ 1999-11-10  Simon FitzMaurice  <sdf@redh
     common\win32\eCosPropertyPage.h :
   "What's this?" style help.
 
-1999-11-09  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\Project.cpp
-  Update laucher interface
-
 1999-11-09  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\common\cdl_exec.hxx,
@@ -2515,10 +2101,6 @@ 1999-11-09  Simon FitzMaurice  <sdf@redh
     standalone\win32\MainFrm.cpp
   Change various ASSERTs to VERIFYs (caused crash in release build)
 
-  * plugin\win32\Project.cpp
-    plugin\win32\Project.h
-  Adjusted to new debugger interface
-
 1999-11-09  John Dallaway  <jld@redhat.co.uk>
 
   * common\common\build.cxx:
@@ -2553,10 +2135,6 @@ 1999-11-08  Simon FitzMaurice  <sdf@redh
   Entered first cut at CSH data
 
 1999-11-08  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CdlTemplatesDialog.cpp
-  Correct syntax error
-
-1999-11-08  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\AddRemoveDialog.cpp
     common\win32\AddRemoveDialog.h
     common\win32\BuildOptionsDialog.cpp
@@ -2578,8 +2156,6 @@ 1999-11-08  Simon FitzMaurice  <sdf@redh
     common\win32\eCosDialog.cpp
     common\win32\eCosDialog.h
     common\win32\eCosHelp.h
-    plugin\win32\CdlTemplatesDialog.cpp
-    plugin\win32\CdlTemplatesDialog.h
     standalone\win32\CTOutputPage.cpp
     standalone\win32\CTOutputPage.h
     standalone\win32\CdlTemplatesDialog.cpp
@@ -2613,19 +2189,14 @@ 1999-11-08  Simon FitzMaurice  <sdf@redh
     common\win32\CTCommonDoc.cpp
     Work around shell crash w\ URL
 
-    plugin\win32\ConfigtoolDoc.cpp
-  Remove stray call to ShowURL
-
     standalone\win32\CTOutputPage.cpp
     standalone\win32\CTOutputPage.h
     common\win32\ConfigViewOptionsDialog.cpp
     common\win32\ConfigViewOptionsDialog.h
     standalone\win32\ViewOptions.cpp
     standalone\win32\ViewOptions.h
-    plugin\win32\ViewOptions.cpp
     common\win32\ControlView.cpp
     common\win32\ControlView.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
     standalone\win32\ViewOptions.cpp
@@ -2658,7 +2229,6 @@ 1999-11-05  Simon FitzMaurice  <sdf@redh
     common\win32\FailingRulesDialog.h
     common\win32\RulesView.cpp
     common\win32\RulesView.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.rc
@@ -2718,7 +2288,6 @@ 1999-11-05  Simon FitzMaurice  <sdf@redh
     common\win32\RulesList.h
     common\win32\RulesView.cpp
     common\win32\RulesView.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
   Refine failing rules dialog
   Prevent removed package items causing crash during (for example) paint operations executed within callback
@@ -2784,11 +2353,6 @@ 1999-11-04  Simon FitzMaurice  <sdf@redh
 
 1999-11-04  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\PropertiesList.cpp
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\eCosres.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\Configtool.dsp
@@ -2815,7 +2379,6 @@ 1999-11-04  Simon FitzMaurice  <sdf@redh
   Created non-eCos-specific base class CCSHDialog
 
   * standalone\win32\Configtool.rc
-    plugin\win32\eCos.rc
     common\win32\CTCommonres.h
     common\win32\ConfigViewOptionsDialog.cpp
     standalone\win32\CTres.h
@@ -2861,9 +2424,6 @@ 1999-11-04  Simon FitzMaurice  <sdf@redh
     common\win32\PropertiesList.cpp
     common\win32\RulesList.cpp
   Remove unreferenced param warnings
-    plugin\win32\eCos.rc
-  Remove unreferenced resource
-    plugin\win32\eCosres.h
     standalone\win32\CTres.h
   Remove duplication definition if IDAPPLY
     standalone\win32\ConfigToolDoc.cpp
@@ -2897,9 +2457,6 @@ 1999-11-03  Simon FitzMaurice  <sdf@redh
     common\win32\eCosDialog.cpp
     common\win32\eCosDialog.h
     common\win32\notepage.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
     standalone\win32\CTOutputPage.cpp
     standalone\win32\CTOutputPage.h
     standalone\win32\CTres.h
@@ -2958,10 +2515,6 @@ 1999-11-02  Simon FitzMaurice  <sdf@redh
   HTML help now used uniformly for CSH
    
 1999-11-02  Simon FitzMaurice  <sdf@redhat.co.uk>
-    common\win32\ConfigItem.cpp
-  Fix compilation error in plugin build
-   
-1999-11-02  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
     common\win32\ConfigItem.cpp
     common\win32\ConfigItem.h
@@ -2983,7 +2536,6 @@ 1999-11-02  Simon FitzMaurice  <sdf@redh
     common\win32\DoubleEdit.h
     common\win32\IntegerEdit.h
     common\win32\target.h
-    plugin\win32\Project.h
   Remove junk header includes
 
 1999-11-02  John Dallaway  <jld@redhat.co.uk>
@@ -3050,8 +2602,6 @@ 1999-11-01  Simon FitzMaurice  <sdf@redh
     common\win32\eCosDialog.h
     common\win32\notepage.h
     common\win32\stdafx.h
-    plugin\win32\CTMain.h
-    plugin\win32\CdlTemplatesDialog.h
     standalone\win32\BinDirDialog.h
     standalone\win32\CTOutputPage.h
     standalone\win32\CdlTemplatesDialog.h
@@ -3067,12 +2617,6 @@ 1999-11-01  Simon FitzMaurice  <sdf@redh
   Include resources directly.  I suspect including resource headers from PCH might have been responsible for
   resource IDs not being found.
 
-  *  plugin\win32\CTMain.cpp
-
-  Fix persistence of MLT toolbar
-
-  * plugin\win32\eCos.rc
-    common\win32\CTCommon.rc
 
   Restore CDL templates dialog
 
@@ -3109,8 +2653,6 @@ 1999-10-29  John Dallaway  <jld@redhat.c
 1999-10-29  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTUtils.cpp
     common\win32\CTUtils.h
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
     standalone\win32\Configtool.cpp
   Change default arg values of Chop to false (less error-prone)
 
@@ -3118,11 +2660,6 @@ 1999-10-29  Simon FitzMaurice  <sdf@redh
     common\win32\PropertiesList.h
   Remove SizeColumns
 
-  * plugin\win32\Project.cpp
-  
-  Properly format make file vars
-  Do not interpret " and \ in strings
-
   * standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
   Remove more unused stuff
@@ -3191,15 +2728,6 @@ 1999-10-28  Simon FitzMaurice  <sdf@redh
   Fix id of list control
 
 1999-10-28  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * common\win32\stdafx.h
-    plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
-    standalone\win32\CTres.h
-    standalone\win32\Configtool.dsp
-    standalone\win32\Configtool.mak
-    standalone\win32\Configtool.rc
-  Add common [between plugin and standalone] resource files
-
   * common\win32\BuildOptionsDialog.cpp
     common\win32\BuildOptionsDialog.h
   Experiment with framework for HtmlHelp
@@ -3272,10 +2800,6 @@ 1999-10-27  Simon FitzMaurice  <sdf@redh
     common\win32\ConfigItem.h
     common\win32\ConfigToolDoc.h
     common\win32\ControlView.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h
@@ -3321,18 +2845,11 @@ 1999-10-26  John Dallaway  <jld@redhat.c
 
 1999-10-26  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
 
   Correct problem whereby some tests were not being correctly located.
 
 1999-10-26  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h :
    
   Adapt to changes for make file generation
   Traverse only package directories looking for tests
@@ -3358,13 +2875,6 @@ 1999-10-22  Simon FitzMaurice  <sdf@redh
     common\win32\StringEdit.h
     common\win32\cellview.h
     common\win32\thinsplitter.cpp
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\eCosres.h
     standalone\win32\CTOutputPage.cpp
     standalone\win32\CTres.h
     standalone\win32\ConfigToolDoc.cpp
@@ -3378,7 +2888,6 @@ 1999-10-22  Simon FitzMaurice  <sdf@redh
   Remove unused resources
   Localize information regarding kind of cell in CCellView and use runtime class information to represent it.
   Remove unused functions from CConfigItem
-  Ensure we use relative paths
   Remove inapplicable items from View\Settings and Tools\Options
 
 1999-10-21  Simon FitzMaurice  <sdf@redhat.co.uk>
@@ -3392,11 +2901,6 @@ 1999-10-21  Simon FitzMaurice  <sdf@redh
     common\win32\SplitterWndEx.h
     common\win32\thinsplitter.cpp
     common\win32\thinsplitter.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\eCosres.h
     standalone\win32\BuildOptsPage.cpp
     standalone\win32\BuildOptsPage.h
     standalone\win32\CTres.h
@@ -3424,8 +2928,6 @@ 1999-10-21  Simon FitzMaurice  <sdf@redh
   Remove BuildOptsPage
   Remove CPackage class
   Move SplitterWndEx from standalone to common (CThinSplitter now derives from it)
-  In plugin:
-  Do not remove empty categories (may upset the Project mgr API)
 
 1999-10-20  John Dallaway  <jld@redhat.co.uk>
 
@@ -3444,30 +2946,13 @@ 1999-10-19  John Dallaway  <jld@redhat.c
   CdlInterface node has become active or inactive.
 
 1999-10-19  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp,h :
-
-    Implement toolbar hide\show
-  Finally nail window persistence.  Probably.
-
-1999-10-19  Simon FitzMaurice  <sdf@redhat.co.uk>
   * standalone\win32\ConfigToolDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigTool.cpp
 
   Make build info available in document (member BuildInfo())
   Introduce UpdateeCosProject() member as place to update build info
 
-  * plugin\win32\CTMain.cpp :
-
-  Use commandex mechamism for window persistence.  Almost there.
-
-  * plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
-
-  get_flags code now in its own file (flags.cxx).  Not yet a class member.
-
   * standalone\win32\ViewOptions.cpp
   Correct typo
 
@@ -3479,31 +2964,16 @@ 1999-10-19  Simon FitzMaurice  <sdf@redh
   Add flags.cxx,.hxx
   Introduce new build options dialog class
 
-  * plugin\win32\eCos.rc
-    plugin\win32\eCosres.h
-    standalone\win32\CTres.h
+  * standalone\win32\CTres.h
     standalone\win32\Configtool.rc
 
   Introduce new build options dialog class
 
-1999-10-18  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\Project.cpp:
-
-  Modify list_to_string() to eliminate redundant use of
-  max().
-
-1999-10-18  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp
-   
-  Fix problem of proliferating toolbars and persist toolbar placement
-
 1999-10-18  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp
     common\win32\CTUtils.cpp
     common\win32\CTUtils.h
     standalone\win32\MainFrm.cpp
-    plugin\win32\CTMain.cpp :
     common\win32\FileName.cpp
 
   [mostly] eliminate changing directory, which is dangerous in a multithreading environment
@@ -3517,16 +2987,6 @@ 1999-10-18  Simon FitzMaurice  <sdf@redh
 
   Remove "display" as property and need for count of properties
 
-  * plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h : 
-
-  use new build options interface
-  search for test projects asynchronously
-  ensure nothing of test projects ends up in source folders
-
   * standalone\win32\Configtool.dsp,
     standalone\win32\Configtool.mak :
    
@@ -3541,43 +3001,10 @@ 1999-10-18  John Dallaway  <jld@redhat.c
   non-default value source.
 
 1999-10-15  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\Projectmanager.cpp : 
-  
-  Allow e.v. trick to create eCos projects in non-Debug
-
-1999-10-15  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\CTCommonDoc.cpp : 
   
   Do not mention an empty repository name
 
-1999-10-15  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp : 
-  
-  restore removeMenuEventListener() call
-
-1999-10-15  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\ConfigtoolDoc.cpp:
-
-  Further modification of OnOpenDocument() to accommodate
-  the recent change to NewMemoryLayout().
-
-1999-10-15  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\ProjectManager.cpp:
-
-  Modify projectManagerChanged() to supress tracing in
-  release builds and thus avoid build error.
-
-1999-10-13  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp,h : 
-  
-  adapt to new menu manager interface
-  
-  * plugin\win32\project.cpp : 
-  
-  Do not crash (via VERIFY) if CopyFile fails
-
 1999-10-13  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\ControlView.cpp:
@@ -3601,15 +3028,6 @@ 1999-10-13  John Dallaway  <jld@redhat.c
 
 1999-10-13  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp:
-
-  Modify NewMemoryLayout() take the directory containing
-  the .mlt files as its parameter rather than the prefix
-  to a "pkgconf" directory.
-
-  Modify SwitchMemoryLayout() and OnOpenDocument() to
-  accommodate the above change to NewMemoryLayout().
-
   * common\win32\CTCommonDoc.cpp,
     common\win32\ConfigtoolDoc.h:
 
@@ -3623,15 +3041,9 @@ 1999-10-13  John Dallaway  <jld@redhat.c
   files in a directory outside the build and install trees
   by calling MLTDir().
 
-  * plugin\win32\ConfigTool.cpp:
-
-  Modify Open() to force the saving of the current memory layout
-  to ensure that the .ldi and .h files exist in the build and
-  install trees.
-
 1999-10-13  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\ConfigItem.cpp : 
-  Correct calculation of filename (works for plugin case now, but not yet for standalone)
+  Correct calculation of filename
 
 1999-10-13  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\ConfigItem.cpp
@@ -3643,7 +3055,6 @@ 1999-10-13  Simon FitzMaurice  <sdf@redh
 
 1999-10-13  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp : 
   Fix problem of tree not being populated when repository already open
   Migrate m_arstrFiles.RemoveAll() calls to DeleteContents() for standalone
 
@@ -3651,23 +3062,6 @@ 1999-10-13  Simon FitzMaurice  <sdf@redh
     
   some hacky debugging for window persistence
 
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\MultiDocSECWorksheet.cpp
-    plugin\win32\MultiDocSECWorksheet.h : 
-    
-  Add window placement persistence
-
-    plugin\win32\ProjectManager.cpp : 
-  Use switch statement not array to determine names for project manager events.
-  Remove extra "tests" from test project path
-
-    plugin\win32\Project.cpp : 
-    
-  Remove status bar message - prevents thermometer being visible
-
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h : 
     
@@ -3747,18 +3141,11 @@ 1999-10-08  Simon FitzMaurice  <sdf@redh
 
 1999-10-08  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
     standalone\win32\MainFrm.cpp
     standalone\win32\MainFrm.h : 
     
   Add status pane support
 
-    plugin\win32\ProjectManager.cpp : 
-    
-  hack; save project when build started
-
 1999-10-08  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\OutputView.cpp,
@@ -3815,7 +3202,6 @@ 1999-10-06  John Dallaway  <jld@redhat.c
   CYGTST_TESTING_IDENTIFIER cdl_option.
 
   * standalone\win32\MainFrm.cpp,
-    plugin\win32\CTMain.cpp:
 
   Modify OnRunSim()\OnRunTests() to use the string value
   of the CYGTST_TESTING_IDENTIFIER cdl_option as the test
@@ -3859,22 +3245,13 @@ 1999-10-04  John Dallaway  <jld@redhat.c
   Modify OnSelChangePackageVersion() and UpdateVersionList() to
   work with both package listboxes.
 
-  * plugin\win32\eCos.rc,
-    standalone\win32\Configtool.rc:
+  * standalone\win32\Configtool.rc,
 
   Extend the version combo box to full width in the package
   selection dialog box.
 
 1999-10-01  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp:
-
-  Modify OnOpenDocument() to copy the default memory layout
-  (MLT) files from the repository to the build tree in case
-  the user wishes to switch memory layouts before saving.
-
-1999-10-01  John Dallaway  <jld@redhat.co.uk>
-
   * common\win32\memmap.cpp:
 
   Modify edit_memory_section() to accommodate a relocating memory
@@ -3888,12 +3265,6 @@ 1999-10-01  John Dallaway  <jld@redhat.c
   Modify DblClk() to restore correct function of double-clicking
   on the documentation URL in the standalone config tool.
 
-1999-10-01  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\CTMain.cpp:
-
-  Modify OnTest() to avoid calling deprecated functions.
-
 1999-09-30  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\ConfigtoolDoc.cpp:
@@ -3915,8 +3286,6 @@ 1999-09-30  John Dallaway  <jld@redhat.c
 
   * standalone\win32\CTres.h,
     standalone\win32\Configtool.rc,
-    plugin\win32\eCosres.h,
-    plugin\win32\eCos.rc:
 
   Add a resource string containing the error message for the
   condition described above.
@@ -3945,7 +3314,6 @@ 1999-09-29  John Dallaway  <jld@redhat.c
   macro.
 
   * standalone\win32\MainFrm.cpp,
-    plugin\win32\CTMain.cpp:
 
   Modify OnRunSim()\OnRunTests() to derive a test target
   identifier of the form "<template>-<startup>" from the
@@ -3972,8 +3340,6 @@ 1999-09-28  John Dallaway  <jld@redhat.c
 
   * standalone\win32\Configtool.rc,
     standalone\win32\CTres.h,
-    plugin\win32\eCos.rc,
-    plugin\win32\eCosres.h:
 
   Add a version selection combo box to the packages dialog.
 
@@ -4075,9 +3441,6 @@ 1999-09-24  Simon FitzMaurice  <sdf@redh
     common\win32\StringEdit.h
     common\win32\cellview.h
     common\win32\stdafx.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\BinDirDialog.cpp
     standalone\win32\BuildOptsPage.cpp
     standalone\win32\BuildOptsPage.h
@@ -4093,15 +3456,10 @@ 1999-09-24  Simon FitzMaurice  <sdf@redh
   CConfigItem::ItemIntegerType becomes ItemIntegerType and moves to stdafx.h
   CConfigToolDoc::ItemTypeOf moves to (static member of) CConfigTool
 
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h : 
   Various functions of projectmanager move to project
   Corrected call of OnSaveDocument() with null argument
 
 
-    plugin\win32\eCos.h
     standalone\win32\dirdocmgr.cpp, h : 
     
   removed
@@ -4190,23 +3548,14 @@ 1999-09-23  John Dallaway  <jld@redhat.c
 
 1999-09-21  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.cpp,
-    common\win32\CTCommonDoc.cpp:
+  * common\win32\CTCommonDoc.cpp,
+    standalone\win32\ConfigtoolDoc.cpp:
 
   Ensure that all calls to libCDL functions which parse input
   files catch and report exceptions of type CdlStringException.
 
 1999-09-21  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp:
-
-  Modify OnOpenDocument() to pass the build tree to NewMemoryLayout() if
-  this is not a new project.
-
-  Modify SetPathName() to calculate the default build and install tree
-  paths based on a CDL save file parameter.
-
   * common\win32\CTCommonDoc.cpp:
 
   Modify ConfigurationFile() to return the document path name
@@ -4216,12 +3565,6 @@ 1999-09-21  John Dallaway  <jld@redhat.c
 
   Promote GetPathName() to a public member function.
 
-  * plugin\win32\ConfigTool.cpp:
-
-  Modify Open() to calculate the CDL save file name and pass it
-  to SetPathName(). Modify the build and install tree paths
-  subsequently as necessary.
-
 1999-09-20  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h : 
@@ -4229,14 +3572,8 @@ 1999-09-20  Simon FitzMaurice  <sdf@redh
   adjust decls for standalone case
 
 1999-09-20  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
     common\win32\CTCommonDoc.cpp
     common\win32\ConfigToolDoc.h
-    plugin\win32\ConfigtoolDoc.cpp 
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
     standalone\win32\ConfigToolDoc.cpp :
   Move GenerateHeaders() from ProjectManger to document class
   Call file-saving operations appropriately (generally in OnSaveDocument())
@@ -4246,15 +3583,6 @@ 1999-09-20  Simon FitzMaurice  <sdf@redh
 
 1999-09-20  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigToolDoc.cpp:
-
-  Modify OnOpenDocument() and OnSaveDocument() to load and save
-  CDL save files respectively. Note that the CDL save files is
-  only loaded if it exists. On initial project creation, the
-  CDL file will not exist.
-
-1999-09-20  John Dallaway  <jld@redhat.co.uk>
-
   * standalone\win32\ConfigToolDoc.cpp,
     common\win32\ConfigtoolDoc.h:
 
@@ -4311,7 +3639,6 @@ 1999-09-20  Simon FitzMaurice  <sdf@redh
     common\win32\CTUtils.cpp
     common\win32\FileName.cpp
     common\win32\subprocess.cpp
-    plugin\win32\ConfigTool.cpp
     standalone\win32\CreditStatic.cpp: 
     
   use of deleteZA
@@ -4331,31 +3658,16 @@ 1999-09-20  John Dallaway  <jld@redhat.c
   repository.
 
 1999-09-17  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\ConfigTool.cpp : 
-    
-  save build and install trees in project
-  
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp : 
     
   Remove unneeded #includes
 
 1999-09-17  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigtoolDoc.cpp : 
   CurrentLinkerScript() made common.
   Remaining fns in non-common docs reordered to ease diffs.
 
-1999-09-17  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\ConfigtoolDoc.cpp : 
-    
-  Correct calculation of build and install paths
-    
-    plugin\win32\ConfigTool.cpp : 
-    
-    remove creation of console
-
 1999-09-17  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\ConfigToolDoc.cpp,
@@ -4373,7 +3685,6 @@ 1999-09-17  John Dallaway  <jld@redhat.c
 
 1999-09-17  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp : 
     
     AddAllItems() becomes common
@@ -4386,11 +3697,6 @@ 1999-09-17  Simon FitzMaurice  <sdf@redh
     common\win32\memmap.cpp
     common\win32\messagebox.cpp
     common\win32\stdafx.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.cpp
     standalone\win32\HelpView.cpp
@@ -4399,40 +3705,6 @@ 1999-09-17  Simon FitzMaurice  <sdf@redh
     
     Use deleteZ and deleteZA macros; migrate AddItem() to common ConfigToolDoc file
 
-1999-09-16  Simon FitzMaurice  <sdf@redhat.co.uk>
-    common\win32\CTCommonDoc.cpp
-    common\win32\CTUtils.cpp
-    common\win32\CellView.cpp
-    common\win32\ConfigItem.cpp
-    common\win32\ConfigItem.h
-    common\win32\ConfigToolDoc.h
-    common\win32\ControlView.cpp
-    common\win32\PropertiesView.cpp
-    common\win32\RulesView.cpp
-    common\win32\stdafx.h
-    plugin\win32\CTMain.cpp
-    plugin\win32\CTMain.h
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ConfigtoolDoc.h
-    plugin\win32\Project.cpp
-    plugin\win32\ProjectManager.cpp
-    standalone\win32\CTres.h
-    standalone\win32\ConfigToolDoc.cpp
-    standalone\win32\Configtool.cpp
-    standalone\win32\Configtool.dsp
-    standalone\win32\Configtool.h
-    standalone\win32\Configtool.rc
-    standalone\win32\ConfigtoolDoc.h
-    standalone\win32\HeadersDialog.cpp
-    standalone\win32\MainFrm.cpp
-    standalone\win32\MainFrm.h
-    standalone\win32\dirdocmgr.cpp : 
-  Create common version of CConfigToolDoc header file.
-  Various changes to merge plugin and standalone code so as to 
-  migrate more code to common doc file.
-
 1999-09-16  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\ProperitesView.cpp:
@@ -4445,7 +3717,6 @@ 1999-09-16  John Dallaway  <jld@redhat.c
 1999-09-16  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\CTCommonDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
     standalone\win32\ConfigtoolDoc.h:
 
   Rename CdlErrorHandler() to CdlParseErrorHandler() and
@@ -4456,7 +3727,6 @@ 1999-09-16  John Dallaway  <jld@redhat.c
   document modified flag.
 
   * standalone\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.cpp:
 
   Reference renamed CdlParseErrorHandler() function.
 
@@ -4492,7 +3762,6 @@ 1999-09-16  John Dallaway  <jld@redhat.c
 
 1999-09-13  Simon FitzMaurice  <sdf@redhat.co.uk>
     common\win32\CTCommonDoc.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp : 
     
   more commonality
@@ -4501,7 +3770,6 @@ 1999-09-13  Simon FitzMaurice  <sdf@redh
     common\win32\CTCommonDoc.cpp
     common\win32\ControlView.cpp
     common\win32\ControlView.h
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\ConfigToolDoc.cpp
     standalone\win32\Configtool.dsp
     standalone\win32\Configtool.mak
@@ -4510,50 +3778,13 @@ 1999-09-13  Simon FitzMaurice  <sdf@redh
   Move common sections of configtooldoc to shared file
 
 1999-09-10  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ConfigtoolDoc.h
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h : 
-    
-  more plugin interface adjustments
-
     common\win32\FileName.cpp : 
     
   return abs path name if comparison cannot be made (e.g. different drives)
 
-1999-09-09  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ProjectManager.cpp : 
-    
-  more of the same
-
-1999-09-09  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\CTMain.cpp
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.h
-    plugin\win32\eCosPlugin.cpp
-    plugin\win32\eCosPlugin.h : 
-    
-  updated for new plugin interface
-
-    plugin\win32\eCosPluginImpl.cpp : 
-    
-  removed
-
 1999-09-09  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.cpp:
+  * standalone\win32\ConfigtoolDoc.cpp,
 
   Modify GetPackageData() to supress obsolete warning messages
   concerning missing include\pkgconf\*.h header files.
@@ -4561,18 +3792,6 @@ 1999-09-09  John Dallaway  <jld@redhat.c
   Modify NewMemoryLayout() in avoid importing linker-defined
   memory section names if no linker script has been found.
 
-1999-09-07  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp : 
-    
-  reuse existing project on open
-
-1999-09-07  Simon FitzMaurice  <sdf@redhat.co.uk>
-    plugin\win32\eCosPluginImpl.cpp : 
-    
-  added
-
 1999-09-07  John Dallaway  <jld@redhat.co.uk>
 
   * Configtool.dsw:
@@ -4587,26 +3806,6 @@ 1999-09-06  Simon FitzMaurice  <sdf@redh
     
   Add keyboard interface to tab from cell to cell, also '<' and '>' for integer "bumping"
 
-    plugin\win32\ConfigTool.cpp
-    plugin\win32\ConfigTool.h
-    plugin\win32\ConfigtoolDoc.cpp
-    plugin\win32\ConfigtoolDoc.h
-    plugin\win32\Project.cpp
-    plugin\win32\Project.h
-    plugin\win32\ProjectManager.cpp
-    plugin\win32\ProjectManager.h
-    plugin\win32\eCos.h : 
-    
-  Partial changes to [de]activate eCos on opening\closing project of type ECOS
-
-    plugin\win32\ConfigtoolDoc.cpp : 
-    
-  suppress "do you want to use this value anyway?" message when value has not been changed
-
-    standalone\win32\ConfigToolDoc.cpp : 
-    
-  minor edits to reduce difference between standalone and plugin versions
-
     common\win32\DoubleEdit.cpp
     common\win32\IntegerEdit.cpp : 
     
@@ -4633,29 +3832,6 @@ 1999-09-02  Simon FitzMaurice  <sdf@redh
     common\win32\ControlView.h:
   Eliminate beeping when keyboard used.
 
-1999-08-31  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\Project.cpp:
-
-  Force cmake.bat to invoke make in Win32 mode using the
-  --win32 switch to avoid problems when MAKE_MODE=unix.
-
-1999-08-18  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\Project.cpp:
-
-  Revert unintentional change to CProject::AddCustomRule()
-  in last check-in.
-
-1999-08-18  Rupen Patel  <rpatel@redhat.com>
-
-  * plugin\win32\Project.cpp:
-   
-  Added a launcher to the toolset. This will allow
-  the user to add the sim and gdb to eCos projects
-  so they may be executed. I am guessing this file
-  will be incorporated as a template eventually.
-
 1999-08-18  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\ControlView.cpp,
@@ -4678,8 +3854,7 @@ 1999-08-18  John Dallaway  <jld@redhat.c
 
 1999-08-17  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.cpp:
+  * standalone\win32\ConfigtoolDoc.cpp,
 
   Modify CdlTransactionHandler() to refresh the control
   view when the value source of a config item changes
@@ -4716,7 +3891,6 @@ 1999-08-17  John Dallaway  <jld@redhat.c
   with a radio button in this way.
 
   * standalone\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.cpp:
 
   Restore CheckRadios() and modify to provide a warning if
   the default states of config items with radio buttons
@@ -4807,16 +3981,13 @@ 1999-08-16  John Dallaway  <jld@redhat.c
   Remove references to Boolean and Radio config item
   types in other member functions.
 
-  * plugin\win32\CTMain.cpp,
-    standalone\win32\MainFrm.cpp:
+  * standalone\win32\MainFrm.cpp,
 
   Remove references to Boolean and Radio config item
   types in member functions.
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
-    standalone\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.h:
+  * standalone\win32\ConfigtoolDoc.cpp,
+    standalone\win32\ConfigtoolDoc.h,
 
   New SetEnabled() member function to set a boolean
   config item.
@@ -4828,12 +3999,6 @@ 1999-08-16  John Dallaway  <jld@redhat.c
   Remove references to Boolean and Radio config item
   types in other member functions.
 
-1999-08-13  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ctmain.cpp : tidy to use Lookup function
-  * plugin\win32\ConfigTool.cpp : buffer output and deal with DOS\UNIX line endings
-  * plugin\win32\ProjectManager.cpp, plugin\win32\ConfigtoolDoc.cpp : Run custom rule substitutions later
-  * plugin\win32\Project.cpp, plugin\win32\ProjectManager.cpp : Reduce projects to 2
-
 1999-08-13  John Dallaway  <jld@redhat.co.uk>
 
   * common\win32\CTUtils.cpp:
@@ -4842,7 +4007,6 @@ 1999-08-13  John Dallaway  <jld@redhat.c
   format doubles.
 
   * standalone\win32\res\bitmap2.bmp,
-    plugin\win32\res\bitmap2.bmp,
     common\win32\ControlView.cpp:
 
   Add new icon for config items of type double and
@@ -4854,16 +4018,13 @@ 1999-08-13  John Dallaway  <jld@redhat.c
   TestTool.rc by the resource editor.
 
 1999-08-13  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\ctmain.cpp : correct compilation error in _DEBUG part
   * common\win32\CTUtils.cpp : no need for UNICODE filtering
   * standalone\win32\Configtool.dsp,.mak : use common version of properties
 
 1999-08-13  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
-    standalone\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.h:
+  * standalone\win32\ConfigtoolDoc.cpp,
+    standalone\win32\ConfigtoolDoc.h,
 
   Make CdlTransactionHandler() a class member.
 
@@ -4885,10 +4046,8 @@ 1999-08-13  John Dallaway  <jld@redhat.c
 
   Modify AdjustItemImage() to use CConfigItem::IsPackage().
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
-    standalone\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.h:
+  * standalone\win32\ConfigtoolDoc.cpp,
+    standalone\win32\ConfigtoolDoc.h,
 
   Implement revised scheme for obtaining memory layout and
   linker script files using CDL options CYGHWR_MEMORY_LAYOUT
@@ -4902,10 +4061,6 @@ 1999-08-12  Simon FitzMaurice  <sdf@redh
   "options" -> "settings" in context menu and introduce separator
 
   * tools\configtool\common\win32\FileName.cpp : do not attempt to create c: etc..
-  * tools\configtool\plugin\win32\CTMain.cpp,h : use ctor for CNDispatch, add Administration entry
-  * tools\configtool\plugin\win32\ConfigtoolDoc.cpp : turn off binary cells as default
-  * tools\configtool\plugin\win32\Project.cpp : use DOS paths
-  * tools\configtool\plugin\win32\eCos.rc : correct settings dialog caption
   * tools\ecostest\common\wcharunix.h : add mkdir compatibility macro
   * tools\testtool\win32\RunTestsSheet.cpp,h : size correctly in modeless case and simulate WM_KICKIDLE
 
@@ -4967,8 +4122,6 @@ 1999-08-11  John Dallaway  <jld@redhat.c
 
   Accommodate new CConfigItem::Double config data type.
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
     standalone\win32\ConfigtoolDoc.cpp,
     standalone\win32\ConfigtoolDoc.h:
 
@@ -4980,9 +4133,6 @@ 1999-08-11  John Dallaway  <jld@redhat.c
   Modify SetValue (CConfigItem &, const CString, bool) to
   accommodate double values.
 
-1999-08-11  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * TOOLS\configtool\PLUGIN\WIN32\Project.cpp : adapt to project manager interface change
-
 1999-08-09  Simon FitzMaurice  <sdf@redhat.co.uk>
   * tools\ResourceTool\win32\ResourceToolDlg.h
     tools\ResourceTool\win32\StdAfx.h
@@ -4995,16 +4145,6 @@ 1999-08-09  Simon FitzMaurice  <sdf@redh
     tools\ecostest\common\eCosTest.cpp
     tools\ecostest\common\eCosTestUtils.cpp,h : Use common properties class
 
-    tools\configtool\plugin\win32\ConfigtoolDoc.cpp
-    tools\configtool\plugin\win32\ConfigtoolDoc.h
-    tools\configtool\plugin\win32\ConfigTool.cpp
-    tools\configtool\plugin\win32\ConfigTool.h : Persist registry location
-
-  * plugin\win32\ConfigTool.cpp,
-    plugin\win32\ConfigTool.h,
-    plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h : Persist repository
-
 1999-08-06  Simon FitzMaurice  <sdf@redhat.co.uk>
   * standalone\win32\ConfigTooldoc.h : correct misplaced edit
 
@@ -5014,20 +4154,13 @@ 1999-08-06  Simon FitzMaurice  <sdf@redh
   use level 4
   * tools\configtool\common\win32\PropertiesView.cpp
     tools\configtool\common\win32\RulesView.cpp
-    plugin\win32\CdlTemplatesDialog.cpp
-    plugin\win32\ConfigtoolDoc.cpp
     standalone\win32\CdlTemplatesDialog.h
     common\win32\stdafx.h : move include of STL string from PCH to using files
-  * tools\configtool\plugin\win32\CTMain.cpp,h : implement flyby and MLT toolbar,
-  protect Create and Remove functions correctly from multiple use
-  * plugin\win32\MultiDocSECWorksheet.cpp,h : tooltip text
-  * plugin\win32\Project.cpp,plugin\win32\ProjectManager.cpp : change to reflect project API
   * testtool\win32\RunTestsSheet.cpp : correct dereference of view **
 
 1999-08-06  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.cpp:
 
   Report CdlStringException exceptions raised while
   loading the initial CDL configuration.
@@ -5035,7 +4168,6 @@ 1999-08-06  John Dallaway  <jld@redhat.c
 1999-08-06  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\CdlTemplatesDialog.cpp,
-    plugin\win32\CdlTemplatesDialog.cpp:
 
   Modify OnInitDialog() to handle the case where no
   template is selected on dialog initialisation
@@ -5045,14 +4177,12 @@ 1999-08-06  John Dallaway  <jld@redhat.c
 1999-08-05  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.cpp:
 
   Catch assertions raised while selecting a new CDL template.
 
 1999-08-05  John Dallaway  <jld@redhat.co.uk>
 
   * standalone\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.cpp:
 
   Tidy up AddItems() source. No functional change.
 
@@ -5070,8 +4200,6 @@ 1999-08-04  Simon FitzMaurice  <sdf@redh
   * tools\ecostest\common\TestResource.cpp : avoid compilation warning
   * common\win32\ConfigItem.cpp,h : replace state variables by parameter of 
   EvalEnumStrings a parameter to police just-in-time lookup
-  * plugin\win32\CTMain:prepare for persistence, call run tests dialog modelessly.  
-  Set menu flyby text.  Create toolbar (I hope).
   * tools\testtool\win32\RunTestsSheet.cpp,h : allow for modeless as well as modal operation
   * eCos.rc : restore include of TestTool.rc
 
@@ -5131,10 +4259,8 @@ 1999-08-04  John Dallaway  <jld@redhat.c
   Remove obsolete references to Min and Max rows of the
   properties view.
 
-  * plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h,
-    standalone\win32\ConfigtoolDoc.cpp,
-    standalone\win32\ConfigtoolDoc.h:
+  * standalone\win32\ConfigtoolDoc.cpp,
+    standalone\win32\ConfigtoolDoc.h,
 
   Remove obsolete ReadMacros() function.
 
@@ -5143,14 +4269,6 @@ 1999-08-04  John Dallaway  <jld@redhat.c
 
 1999-08-04  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigToolDoc.cpp:
-
-  Modify OpenRepository() to prepare for selecting the
-  CDL hardware template using information from the
-  plugin's host.
-
-1999-08-04  John Dallaway  <jld@redhat.co.uk>
-
   * standalone\win32\cdl.dsp,
     standalone\win32\cdl.mak:
 
@@ -5172,8 +4290,6 @@ 1999-08-03  John Dallaway  <jld@redhat.c
 
   * standalone\win32\ConfigtoolDoc.cpp,
     standalone\win32\ConfigtoolDoc.h,
-    plugin\win32\ConfigtoolDoc.cpp,
-    plugin\win32\ConfigtoolDoc.h:
 
   Modify OpenRepository() to catch exceptions generated
   while loading the hardware and package templates.
@@ -5184,14 +4300,6 @@ 1999-08-03  John Dallaway  <jld@redhat.c
 
 1999-08-03  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\Project.cpp:
-
-  Modify CProject constructor to provide architecture parameter
-  to ProjectManager::makeToolset().
-
-1999-08-03  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\ConfigtoolDoc.cpp,
     standalone\win32\ConfigtoolDoc.cpp:
 
   Modify OpenRepository() to delete any previous CDL
@@ -5202,7 +4310,8 @@ 1999-08-02  Simon FitzMaurice  <sdf@redh
   * common\win32\CTUtils.cpp: Include <string> with STLInclude mechanism
   * common\win32\CellView.cpp,h: Combo in-cell changes now only "committed" when
   cell closed.  Cancel will leave value unchanged.
-  * common\win32\ControlView.cpp,h, plugin\win32\CTMain.h, standalone\win32\HelpView.cpp,
+  * common\win32\ControlView.cpp,h,
+    standalone\win32\HelpView.cpp,
     standalone\win32\MainFrm.cpp, standalone\win32\OutputView.cpp,h:
   Allow only a single find dialog to be active at a given time
   * standalone\win32\MainFrm.cpp: Diable edit menu items when focus not in control view
@@ -5214,11 +4323,9 @@ 1999-08-02  Simon FitzMaurice  <sdf@redh
 1999-08-02  Simon FitzMaurice  <sdf@redhat.co.uk>
   * tools\configtool\common\win32\CTUtils.cpp : Include <string> with IncludeSTL mechanism
   * tools\configtool\common\win32\CellView.*  : ESC now cancels effect of combo
-  * tools\configtool\plugin\win32\CdlTemplatesDialog.cpp : Remove compilation warning
    
 1999-08-02  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\ConfigtoolDoc.cpp,
     standalone\win32\ConfigtoolDoc.cpp:
 
   Modify CdlErrorHandler() to log parse errors to the
@@ -5236,10 +4343,6 @@ 1999-08-02  John Dallaway  <jld@redhat.c
   not fatal.
 
 1999-08-02  Simon FitzMaurice  <sdf@redhat.co.uk>
-  * plugin\win32\CTMain.cpp, plugin\win32\configtooldoc.cpp, 
-    plugin\win32\ProjectManager.*: Add progress, idle messages
-
-1999-08-02  Simon FitzMaurice  <sdf@redhat.co.uk>
   * common\win32\StringEdit.* : Add idle message hint for in-cell string editing
   * common\win32\IdleMessage.* : Add Reset() member function
 
@@ -5301,23 +4404,6 @@ 1999-07-27  Simon FitzMaurice  <sdf@redh
 
 1999-07-27  John Dallaway  <jld@redhat.co.uk>
 
-  * plugin\win32\CTMain.cpp:
-
-  Modify SetMenuItems() to add a menu separator bar if the
-  message map array member has a null string element (str).
-
-  Modify the message map to place a separator between the
-  eCos view menu items and the view settings menu item.
-
-1999-07-27  John Dallaway  <jld@redhat.co.uk>
-
-  * plugin\win32\ConfigtoolDoc.cpp:
-
-  Modify SetValue() to check if the new value of an integer
-  item is legal and report to the user.
-
-1999-07-27  John Dallaway  <jld@redhat.co.uk>
-
   * standalone\win32\cdl.sh:
 
   Accommodate eCos repository with any root directory
@@ -5685,7 +4771,6 @@ 1999-07-16  Simon FitzMaurice  <sdf@redh
   * ConfigTool.*:
   eCosInit gains build tree and bCreate params
   * ConfigToolDoc.*:
-  Use OnOpenDocument, not OnNewDocument
   Introduce BuildTree() and InstallTree() helper fns.
   * Project.cpp:
   Custom rules go in install tree, not build tree
@@ -5793,8 +4878,6 @@ 1999-07-14  Simon FitzMaurice  <sdf@redh
     Prepared document load\save functions to accommodate CDL databse loading\
   saving
   Corrected IntegerEdit to deal correctly with hex and decimal modes
-  Introduced CProject ctor to use an existing project object (not 
-  sure we'll need this - depends on discussions with Atlanta.
   Introduced hacks into CProject to deal with addLibrary not working and
   implicit dependency on target.ld
 
--- a/host/tools/configtool/common/win32/CTCommonDoc.cpp
+++ b/host/tools/configtool/common/win32/CTCommonDoc.cpp
@@ -1744,9 +1744,10 @@ void CConfigToolDoc::OnFileImport()
 bool CConfigToolDoc::QualifyDocURL(CString &strURL)
 {
   if(-1==strURL.Find(_T("://"))){
-    // Relative URL - qualify it as a file URL
-    strURL=DocBase()+CFileName(strURL);
     strURL.Replace(_TCHAR('/'),_TCHAR('\\'));
+    if (! CFileName (strURL).IsFile ()) { // if not an absolute filepath
+      strURL = DocBase () + CFileName (strURL); // prepend the doc directory path
+    }
     strURL=_T("file://")+strURL;
   }
 
--- a/host/tools/configtool/standalone/common/ecosconfig.cxx
+++ b/host/tools/configtool/standalone/common/ecosconfig.cxx
@@ -48,7 +48,7 @@
 #include "cdl_exec.hxx"
 #include "ecosconfig.hxx"
 
-#define TOOL_VERSION "1.3.1"
+#define TOOL_VERSION "1.3.2"
 #define TOOL_COPYRIGHT "Copyright (c) 2000 Red Hat, Inc."
 #define DEFAULT_SAVE_FILE "ecos.ecc"
 
--- a/host/tools/configtool/standalone/win32/Configtool.rc
+++ b/host/tools/configtool/standalone/win32/Configtool.rc
@@ -192,7 +192,7 @@ CAPTION "About ConfigTool"
 FONT 8, "MS Sans Serif", 0, 0, 0x1
 BEGIN
     DEFPUSHBUTTON   "OK",IDOK,178,7,32,14,WS_GROUP
-    LTEXT           "eCos Configuration Tool 1.3.1",IDC_STATIC,40,10,119,8,
+    LTEXT           "eCos Configuration Tool 1.3.2",IDC_STATIC,40,10,119,8,
                     SS_NOPREFIX
     ICON            IDR_MAINFRAME,IDC_STATIC,11,17,21,20
     LTEXT           "Date/Time info",IDC_STATIC_DATETIME,40,23,119,8
deleted file mode 100644
--- a/host/tools/configtool/standalone/win32/cdl.dsp
+++ /dev/null
@@ -1,196 +0,0 @@
-# Microsoft Developer Studio Project File - Name="cdl" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Generic Project" 0x010a
-
-CFG=cdl - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "cdl.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "cdl.mak" CFG="cdl - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "cdl - Win32 Release" (based on "Win32 (x86) Generic Project")
-!MESSAGE "cdl - Win32 Debug" (based on "Win32 (x86) Generic Project")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-MTL=midl.exe
-
-!IF  "$(CFG)" == "cdl - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "V:\ide\Release\cdl"
-# PROP Intermediate_Dir "V:\ide\Release\cdl\build"
-# PROP Target_Dir ""
-
-!ELSEIF  "$(CFG)" == "cdl - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "cdl___Win32_Debug"
-# PROP BASE Intermediate_Dir "cdl___Win32_Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "V:\ide\debug\cdl"
-# PROP Intermediate_Dir "V:\ide\debug\cdl\build"
-# PROP Target_Dir ""
-
-!ENDIF 
-
-# Begin Target
-
-# Name "cdl - Win32 Release"
-# Name "cdl - Win32 Debug"
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\base.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\build.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdl.hxx
-# End Source File
-# Begin Source File
-
-SOURCE=.\cdl.sh
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdlcore.hxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\cdlmisc.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog
-
-!IF  "$(CFG)" == "cdl - Win32 Release"
-
-# Begin Custom Build - Performing Custom Build Step for libCDL
-IntDir=V:\ide\Release\cdl\build
-OutDir=V:\ide\Release\cdl
-InputPath=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog
-
-BuildCmds= \
-	cd ..\..\standalone\win32 \
-	sh -x cdl.sh $(IntDir) $(OutDir) \
-	
-
-"$(OutDir)\lib\cdl.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-   $(BuildCmds)
-
-"$(OutDir)\lib\cyginfra.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-   $(BuildCmds)
-# End Custom Build
-
-!ELSEIF  "$(CFG)" == "cdl - Win32 Debug"
-
-# Begin Custom Build - Performing Custom Build Step for libCDL
-IntDir=V:\ide\debug\cdl\build
-OutDir=V:\ide\debug\cdl
-InputPath=..\..\..\..\..\ecc\cdltools\current\host\libcdl\changelog
-
-BuildCmds= \
-	cd ..\..\standalone\win32 \
-	sh -x cdl.sh $(IntDir) $(OutDir) --enable-debug \
-	
-
-"$(OutDir)\lib\cdl.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-   $(BuildCmds)
-
-"$(OutDir)\lib\cyginfra.lib" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)"
-   $(BuildCmds)
-# End Custom Build
-
-!ENDIF 
-
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\component.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\config.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\conflict.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\database.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\dialog.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\expr.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\hcdl.hxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\interface.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\interp.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\option.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\package.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\parse.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\property.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\refer.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\value.cxx
-# End Source File
-# Begin Source File
-
-SOURCE=..\..\..\..\..\ecc\cdltools\current\host\libcdl\wizard.cxx
-# End Source File
-# End Target
-# End Project
deleted file mode 100644
--- a/host/tools/configtool/standalone/win32/cdl.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-# $1==IntDir $2==OutDir $3==Additional params to configure
-ECOSHOME=`pwd`/../../../../..
-TCLHOME=${TCLHOME:-"`pwd`/../../../../../../ide/tcl"}
-INTDIR=`cygpath -u $1`
-OUTDIR=`cygpath -u $2`
-mkdir -p $INTDIR
-cd $INTDIR &&\
-    CC=cl CXX=cl $ECOSHOME/configure --prefix=$OUTDIR --with-tcl=$TCLHOME --with-tcl_version=81 --disable-standalone-configtool $3 &&\
-    MAKE_MODE=unix make install
index f81533a16008de5aa32f44784929ffdea3e09e79..eefac5a67b14f08a55849eb07e62aef4fb8773ce
GIT binary patch
literal 166438
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
--- a/host/tools/ecostest/ChangeLog
+++ b/host/tools/ecostest/ChangeLog
@@ -1,3 +1,19 @@
+2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+
+	* win32/eCosTest.dsp:
+
+	Add common/eCosTestMonitorFilter.h and
+	common/eCosTestMonitorFilter.cpp to the project.
+
+2000-03-16  Jesper Skov  <jskov@redhat.com>
+
+	* common/eCosTestMonitorFilter.h:
+	* common/eCosTestMonitorFilter.cpp:
+	* common/ser_filter.cpp:
+	* unix/Makefile (common_sources): 
+	Added monitor filter and new -m option to ser_filter. This allows
+	simple monitoring of the traffic between host and target.
+
 2000-03-15  John Dallaway  <jld@cygnus.co.uk>
 
 	* common/eCosTest.cpp:
--- a/host/tools/ecostest/common/eCosTestDownloadFilter.cpp
+++ b/host/tools/ecostest/common/eCosTestDownloadFilter.cpp
@@ -53,7 +53,7 @@
 #include "eCosStd.h"
 #include "eCosTrace.h"
 
-#define DL_FILTER_VER "$Id: eCosTestDownloadFilter.cpp,v 1.1 2000/03/28 14:10:57 jlarmour Exp $"
+#define DL_FILTER_VER "$Id: eCosTestDownloadFilter.cpp,v 1.2 2000/03/28 20:13:33 jlarmour Exp $"
 #include "eCosTestDownloadFilter.h"
 
 CeCosTestDownloadFilter::CeCosTestDownloadFilter():
new file mode 100644
--- /dev/null
+++ b/host/tools/ecostest/common/eCosTestMonitorFilter.cpp
@@ -0,0 +1,158 @@
+//####COPYRIGHTBEGIN####
+//                                                                          
+// ----------------------------------------------------------------------------
+// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
+//
+// This program is part of the eCos host tools.
+//
+// This program is free software; you can redistribute it and/or modify it 
+// under the terms of the GNU General Public License as published by the Free 
+// Software Foundation; either version 2 of the License, or (at your option) 
+// any later version.
+// 
+// This program is distributed in the hope that it will be useful, but WITHOUT 
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
+// more details.
+// 
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, write to the Free Software Foundation, Inc., 
+// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+// ----------------------------------------------------------------------------
+//                                                                          
+//####COPYRIGHTEND####
+//=================================================================
+//
+//        eCosTestMonitorFilter.cpp
+//
+//        Simple filter for monitoring data flowing through the client
+//
+//=================================================================
+//=================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):     jskov
+// Contributors:  jskov
+// Date:          2000-03-16
+// Description:   This filter sits between GDB and the test running on
+//                the target, allowing all transmitted data to be output.
+//
+// *Take* the time to move some of the functions here (which are shared
+// with eCosTestSerialFilter, and probably DownloadFilter) and move
+// them to some shared file.
+//####DESCRIPTIONEND####
+
+#include "eCosStd.h"
+
+#define SER_FILTER_VER "$Id: eCosTestMonitorFilter.cpp,v 1.1 2000/03/28 20:13:33 jlarmour Exp $"
+#include "eCosTestMonitorFilter.h"
+
+CeCosTestMonitorFilter::CeCosTestMonitorFilter():
+  m_bOptVerbose(false)
+{
+}
+
+CeCosTestMonitorFilter::~CeCosTestMonitorFilter()
+{
+}
+
+//------------------------
+// Output helpers.
+
+void
+CeCosTestMonitorFilter::ConsoleWrite(const char* pszStr)
+{
+    fputs(pszStr, stderr);
+    fflush(stderr);
+}
+
+void
+CeCosTestMonitorFilter::Trace(const char* pszFormat, ...)
+{
+  
+  va_list marker;
+  va_start (marker, pszFormat);
+  
+  for(int nLength=100;nLength;) {
+    char *buf=new char[1+nLength];
+    int n=vsnprintf(buf, nLength, pszFormat, marker ); 
+    if(-1==n){
+      nLength*=2;  // NT behavior
+    } else if (n<nLength){
+      ConsoleWrite(buf);
+      nLength=0;   // trigger exit from loop
+    } else {
+      nLength=n+1; // UNIX behavior generally, or NT behavior when buffer size exactly matches required length
+    }
+    delete [] buf;
+  }
+  
+  va_end (marker);
+}
+
+void
+CeCosTestMonitorFilter::PrintHex(const unsigned char* d1, int len, data_origin_t origin/*=SF_TARGET*/)
+{
+    int offset = 0;
+    int i;
+    char buf[128];
+    int width = 8;
+
+    while (len) {
+        int count = MIN(width, len);
+        char* p = buf;
+        switch (origin) {
+        case MF_TARGET:
+            p += sprintf(p, "T:");
+            break;
+        case MF_HOST:
+            p += sprintf(p, "H:");
+            break;
+        }
+        p += sprintf(p, "%04x > ", offset);
+        // Print hex values.
+        for (i = 0; i < count; i++)
+            p += sprintf(p, "%02x ", d1[i]);
+        for (     ; i < width   ; i++)
+            p += sprintf(p, ".. ");
+
+        // Print ASCII string
+        p += sprintf(p, "'");
+        for (i = 0; i < count; i++) {
+            int c = d1[i];
+            if (' ' >= c || 'z' <= c)
+                c = '.';
+            p += sprintf(p, "%c", c);
+        }
+        sprintf(p, "'\n");
+
+        Trace("%s", buf);
+
+        len -= count;
+        offset += count;
+        d1 += count;
+    }
+}
+
+bool CALLBACK
+SerialMonitorFunction(void*& pBuf,
+                      unsigned int& nRead,
+                      CeCosTestSerial& serial,
+                      CeCosTestSocket& socket,
+                      void* pParem)
+{
+    CeCosTestMonitorFilter* p = (CeCosTestMonitorFilter*) pParem;
+    return p->FilterFunctionProper(pBuf, nRead);
+}
+
+bool
+CeCosTestMonitorFilter::FilterFunctionProper(void*& pBuf, unsigned int& nRead)
+{
+    char* buffer = (char*) pBuf;
+
+    if (m_bOptVerbose)
+        PrintHex((unsigned char*) buffer, nRead, m_eOrigin);
+
+    return true;
+}
new file mode 100644
--- /dev/null
+++ b/host/tools/ecostest/common/eCosTestMonitorFilter.h
@@ -0,0 +1,89 @@
+//####COPYRIGHTBEGIN####
+//                                                                          
+// ----------------------------------------------------------------------------
+// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.
+//
+// This program is part of the eCos host tools.
+//
+// This program is free software; you can redistribute it and/or modify it 
+// under the terms of the GNU General Public License as published by the Free 
+// Software Foundation; either version 2 of the License, or (at your option) 
+// any later version.
+// 
+// This program is distributed in the hope that it will be useful, but WITHOUT 
+// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
+// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for 
+// more details.
+// 
+// You should have received a copy of the GNU General Public License along with
+// this program; if not, write to the Free Software Foundation, Inc., 
+// 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+//
+// ----------------------------------------------------------------------------
+//                                                                          
+//####COPYRIGHTEND####
+//=================================================================
+//
+//        eCosTestMonitorFilter.h
+//
+//        Simple filter for monitoring data flowing through the client
+//
+//=================================================================
+//=================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):     jskov
+// Contributors:  jskov
+// Date:          2000-03-16
+//####DESCRIPTIONEND####
+#ifndef _CECOSMONITORFILTER_H
+#define _CECOSMONITORFILTER_H
+
+#include "eCosStd.h"
+#include "eCosTest.h"
+#include "eCosTestSocket.h"
+#include "eCosTestSerial.h"
+
+//----------------------------------------------------------------------------
+// The filter class
+class CeCosTestMonitorFilter;
+
+class CeCosTestMonitorFilter {
+public:
+    enum data_origin_t {MF_TARGET=0, MF_HOST} ;
+
+    // Constructor
+    CeCosTestMonitorFilter();
+    ~CeCosTestMonitorFilter();
+
+    // Configuration methods
+    void SetVerbose(bool bVerbose) 
+        { m_bOptVerbose = bVerbose; }
+    void SetOrigin(data_origin_t eOrigin)
+        { m_eOrigin = eOrigin; }
+
+    bool FilterFunctionProper(void*& pBuf, unsigned int& nRead);
+
+private:
+
+    // Output methods
+    void ConsoleWrite(const char* pszStr);
+    void Trace(const char* pszFormat, ...);
+    void PrintHex(const unsigned char* d1, int len, 
+                  data_origin_t origin=MF_TARGET);
+
+        
+    // Options used for configuring behavior.
+    bool m_bOptVerbose;
+
+    data_origin_t m_eOrigin;
+
+};
+
+extern bool CALLBACK SerialMonitorFunction(void*& pBuf,
+                                           unsigned int& nRead,
+                                           CeCosTestSerial& serial,
+                                           CeCosTestSocket& socket,
+                                           void* pParem);
+    
+#endif // _CECOSMONITORFILTER_H
--- a/host/tools/ecostest/common/eCosTestSerialFilter.cpp
+++ b/host/tools/ecostest/common/eCosTestSerialFilter.cpp
@@ -51,7 +51,7 @@
 
 #include "eCosStd.h"
 
-#define SER_FILTER_VER "$Id: eCosTestSerialFilter.cpp,v 1.1 2000/03/28 14:10:57 jlarmour Exp $"
+#define SER_FILTER_VER "$Id: eCosTestSerialFilter.cpp,v 1.2 2000/03/28 20:13:33 jlarmour Exp $"
 #include "eCosTestSerialFilter.h"
 
 char msg_ok[] = "OK";
--- a/host/tools/ecostest/common/ser_filter.cpp
+++ b/host/tools/ecostest/common/ser_filter.cpp
@@ -59,17 +59,17 @@
 
 #include "eCosTestSerialFilter.h"
 #include "eCosTestDownloadFilter.h"
+#include "eCosTestMonitorFilter.h"
 #include "eCosTestUtils.h"
 #include "eCosTrace.h"
 
-#define __USE_DL_FILTER
-
 bool opt_ser_debug = false;
 bool opt_null_filter = false;
 bool opt_console_output = false;
 bool opt_X10_reset = false;
 bool opt_filter_trace = false;
 char opt_X10_port[2];
+bool opt_monitor = false;
 
 void
 no_gdb(const char* pszPort, int nBaud, 
@@ -145,6 +145,9 @@ main(int argc, char** argv)
       case 'S':
         opt_ser_debug = true;
         break;
+      case 'm':
+        opt_monitor = true;
+        break;
       case 'n':
         opt_no_gdb = true;
         // fall through! Output on console when no GDB.
@@ -201,27 +204,62 @@ main(int argc, char** argv)
   }
   
   
+  if (opt_monitor) {
+      fprintf(stdout, "Monitor mode - will not interact with data streams...\n");
+
+      for(;;) {
+      
+          CeCosTestMonitorFilter* host_filter = 
+              new CeCosTestMonitorFilter();
+          CeCosTestMonitorFilter* target_filter = 
+              new CeCosTestMonitorFilter();
+
+          // Set filter directions
+          host_filter->SetOrigin(CeCosTestMonitorFilter::MF_HOST);
+          target_filter->SetOrigin(CeCosTestMonitorFilter::MF_TARGET);
+          
+          // Enable filters
+          host_filter->SetVerbose(true);
+          target_filter->SetVerbose(true);
+
+          // Set filter functions
+          CeCosTestSocket::FilterFunc *host_filter_function = 
+              &SerialMonitorFunction;
+          CeCosTestSocket::FilterFunc *target_filter_function = 
+              &SerialMonitorFunction;
+          
+          try {
+              CeCosTestSocket::ConnectSocketToSerial(nSock, ser_port, 
+                                                     baud_rate, 
+                                                     target_filter_function, 
+                                                     (void*)target_filter, 
+                                                     host_filter_function, 
+                                                     (void*)host_filter,
+                                                     NULL);
+          } 
+          catch (const char* p) {
+              fprintf(stderr, "Caught filter crash: %s\n", p);
+          }
+          
+          delete target_filter;
+          delete host_filter;
+      }
+  }
   
   for(;;) {
     CeCosTestSerialFilter* serial_filter = 
       new CeCosTestSerialFilter();
-#ifdef __USE_DL_FILTER
     CeCosTestDownloadFilter* download_filter = 
       new CeCosTestDownloadFilter();
-#else // UNIX
-    void* download_filter = NULL;
-#endif
-    
+
     // Set filter configuration
     serial_filter->SetFilterTrace(opt_filter_trace);
     serial_filter->SetSerialDebug(opt_ser_debug);
     serial_filter->SetConsoleOutput(opt_console_output);
     
-#ifdef __USE_DL_FILTER
     // Set download filter configuration
     download_filter->SetFilterTrace(opt_filter_trace);
     download_filter->SetSerialDebug(opt_ser_debug);
-#endif
     
     // Set serial side filter
     CeCosTestSocket::FilterFunc *ser_filter_function = 
@@ -229,14 +267,9 @@ main(int argc, char** argv)
     if (opt_null_filter)
       ser_filter_function = NULL;
     
-#ifdef __USE_DL_FILTER
     // Set socket side filter
     CeCosTestSocket::FilterFunc *sock_filter_function =
       &DownloadFilterFunction;
-#else // UNIX
-    CeCosTestSocket::FilterFunc *sock_filter_function = NULL;
-    
-#endif
     
     try {
       if (opt_no_gdb)
@@ -281,6 +314,7 @@ Usage:
   fprintf(stderr, " -f: Enable filter output tracing.\n");
   fprintf(stderr, " -S: Output data read from serial line.\n");
   fprintf(stderr, " -c: Output data on console instead of via GDB.\n");
+  fprintf(stderr, " -m: Work only as a monitor filter. Implies -c.\n");
   fprintf(stderr, " -n: No GDB.\n");
   fprintf(stderr, " -0: Use null filter.\n");
   fprintf(stderr, " -Xab: Reset X-10 Port 'a b' when TCP connection breaks\n");
--- a/host/tools/ecostest/unix/Makefile
+++ b/host/tools/ecostest/unix/Makefile
@@ -11,6 +11,7 @@ common_sources = \
 	../common/eCosTest.cpp									\
 	../common/eCosTestSerial.cpp						\
 	../common/eCosTestDownloadFilter.cpp		\
+	../common/eCosTestMonitorFilter.cpp		\
 	../common/eCosTestSerialFilter.cpp
 
 common_objects = $(notdir $(common_sources:.cpp=.o))
--- a/host/tools/ecostest/win32/eCosTest.dsp
+++ b/host/tools/ecostest/win32/eCosTest.dsp
@@ -101,6 +101,10 @@ SOURCE=..\common\eCosTestDownloadFilter.
 # End Source File
 # Begin Source File
 
+SOURCE=..\common\eCosTestMonitorFilter.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=..\common\eCosTestSerial.cpp
 # End Source File
 # Begin Source File
@@ -161,6 +165,10 @@ SOURCE=..\common\eCosTestDownloadFilter.
 # End Source File
 # Begin Source File
 
+SOURCE=..\common\eCosTestMonitorFilter.h
+# End Source File
+# Begin Source File
+
 SOURCE=..\common\eCosTestSerial.h
 # End Source File
 # Begin Source File
--- a/host/tools/pkgadmin/ChangeLog
+++ b/host/tools/pkgadmin/ChangeLog
@@ -1,3 +1,9 @@
+2000-03-15  John Dallaway  <jld@cygnus.co.uk>
+
+	* win32/PkgAdmin.rc:
+
+	Update version number to 1.3.2.
+
 2000-03-08  John Dallaway  <jld@cygnus.co.uk>
 
 	* win32/PkgAdmin.dsw:
--- a/host/tools/pkgadmin/win32/PkgAdmin.rc
+++ b/host/tools/pkgadmin/win32/PkgAdmin.rc
@@ -32,7 +32,7 @@ CAPTION "About eCos Package Administrati
 FONT 8, "MS Sans Serif"
 BEGIN
     ICON            IDR_PKGADMIN_MAINFRAME,IDC_STATIC,11,11,20,20
-    LTEXT           "eCos Package Administration Tool 1.3.1",IDC_STATIC,40,
+    LTEXT           "eCos Package Administration Tool 1.3.2",IDC_STATIC,40,
                     10,131,8,SS_NOPREFIX
     LTEXT           "Copyright © 1999-2000 Red Hat, Inc.",IDC_STATIC,40,25,
                     139,8
--- a/packages/ChangeLog
+++ b/packages/ChangeLog
@@ -1,3 +1,16 @@
+2000-03-24  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* ecosrelease.tcl: Allow running if cygtclsh80 is the tcl shell, as
+	on cygwin, rather than tclsh.
+	* ecosdistrib.tcl: Likewise
+	* ecosadmin.tcl: Likewise
+
+2000-03-24  Hugo Tyson  <hmt@cygnus.co.uk>
+
+	* ecos.db (sparclite_sim): Add CYGPKG_IO_SERIAL to the SPARClite
+	simulator target - thus acquiring conflict-free default template,
+	and getting stdio availability in libc.
+
 2000-03-22  John Dallaway  <jld@cygnus.co.uk>
 
 	* ecosadmin.tcl:
@@ -5,6 +18,10 @@ 2000-03-22  John Dallaway  <jld@cygnus.c
 	Don't invoke 'cygpath' on DOS-style paths to workaround erratic
 	behaviour when invoked from the GUI admin tool.
 
+2000-03-16  Jesper Skov  <jskov@redhat.com>
+
+	* ecos.db: Make edk7708 target select the appropriate CPU.
+
 2000-03-10  John Dallaway  <jld@cygnus.co.uk>
 
 	* ecosadmin.tcl:
--- a/packages/compat/uitron/current/ChangeLog
+++ b/packages/compat/uitron/current/ChangeLog
@@ -1,9 +1,18 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  Jesper Skov  <jskov@redhat.com>
+
+	* tests/testintr.cxx: Synchronize with clock before making timer
+	measurement.
+
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/uitron.cdl:
 
 	Adjust documentation URLs.
 
+2000-03-22  Jesper Skov  <jskov@redhat.com>
+
+	* include/uit_ifnc.h (ret_int): Fix compiler warning.
+
 2000-03-13  Jesper Skov  <jskov@redhat.com>
 
 	* tests/testintr.cxx: Don't try to disable clock on PowerPC.
--- a/packages/compat/uitron/current/include/uit_ifnc.h
+++ b/packages/compat/uitron/current/include/uit_ifnc.h
@@ -118,7 +118,7 @@ ER      isnd_msg ( ID mbxid, T_MSG *pk_m
 } while ( 0 )
 
 // Subsitute a version of ret_int that returns Cyg_Interrupt::CALL_DSR
-#undef ret_int()
+#undef ret_int
 #define ret_int()  do {                         \
     register int retcode;                       \
     CYGPRI_UITRON_SET_RETCODE( retcode );       \
--- a/packages/compat/uitron/current/tests/testintr.cxx
+++ b/packages/compat/uitron/current/tests/testintr.cxx
@@ -333,22 +333,27 @@ void task1( unsigned int arg )
         ercd = get_tim( &t1 );
         CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" );
 
-        // Wait for a tick
+        // Wait for a tick. This loop acts as a synchronizer for the loop
+        // below, ensuring that it starts just after a tick.
         for ( loops = 0; loops < 10000000; loops++ ) {
             ercd = get_tim( &t2 );
             CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" );
             if ( t2 != t1 )
                 break;
         }
-        // and a second one
-        for (          ; loops < 10000000; loops++ ) {
+        // Wait for next tick. Reset loops counter so we get the
+        // approximate loop count of one clock tick.
+        for ( loops = 0; loops < 10000000; loops++ ) {
             ercd = get_tim( &t1 );
             CYG_TEST_CHECK( E_OK == ercd, "get_tim bad ercd" );
             if ( t2 != t1 )
                 break;
         }
 
-        intercom = loops * 2; // save how long it took, plus a bit
+        // save how many loops could be executed in one tick. Multiply
+        // with 3 : we run loops in pairs below and add the time of
+        // one extra to avoid small variations to trigger failures.
+        intercom = loops * 3;
 
         ercd = ena_int( clock_interrupt ); // was initialized already
         CYG_TEST_CHECK( E_OK == ercd, "ena_int bad ercd" );
--- a/packages/devs/wallclock/current/ChangeLog
+++ b/packages/devs/wallclock/current/ChangeLog
@@ -1,3 +1,9 @@
+2000-03-17  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/wallclock.cdl: 
+	* src/sh3.cxx: 
+	Added wallclock driver for SH3 RTC module.
+
 2000-01-31 Simon FitzMaurice  <sdf@cygnus.co.uk>
   * cdl/wallclock.cdl:
 
--- a/packages/devs/wallclock/current/cdl/wallclock.cdl
+++ b/packages/devs/wallclock/current/cdl/wallclock.cdl
@@ -53,16 +53,38 @@ cdl_package CYGPKG_DEVICES_WALLCLOCK {
         interacting with a suitable clock chip, or it may be
         emulated by using the kernel timers."
 
-    # FIXME: should be editable when there are HW alternatives.
+    cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS {
+        display       "Number of wallclock implementations"
+        requires      { CYGINT_WALLCLOCK_IMPLEMENTATIONS == 1 }
+    }
+
+    cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS {
+        display       "Number of hardware wallclock implementations"
+    }
+
     cdl_option CYGIMP_WALLCLOCK_EMULATE {
         display       "Wallclock emulator"
-        calculated    1
+        default_value { CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS == 0 }
+        implements    CYGINT_WALLCLOCK_IMPLEMENTATIONS
         compile       emulate.cxx
         description   "
             When this option is enabled, a wallclock device will be
             emulated using the kernel real-time clock."
     }
 
+    cdl_option CYGIMP_WALLCLOCK_SH3 {
+        display       "SH3 Wallclock"
+        default_value { CYGPKG_HAL_SH }
+        active_if     CYGPKG_HAL_SH
+        compile       sh3.cxx
+        implements    CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS
+        implements    CYGINT_WALLCLOCK_IMPLEMENTATIONS
+        description   "
+            When this option is enabled, a wallclock driver using the
+            SH3's on-core Realtime Clock module will be built."
+    }
+
+
     cdl_component CYGPKG_DEVICES_WALLCLOCK_OPTIONS {
         display "Wallclock build options"
         flavor  none
new file mode 100644
--- /dev/null
+++ b/packages/devs/wallclock/current/src/sh3.cxx
@@ -0,0 +1,242 @@
+//==========================================================================
+//
+//      devs/wallclock/sh3.cxx
+//
+//      Wallclock emulation implementation
+//
+//==========================================================================
+//####COPYRIGHTBEGIN####
+//                                                                          
+// -------------------------------------------                              
+// The contents of this file are subject to the Red Hat eCos Public License 
+// Version 1.1 (the "License"); you may not use this file except in         
+// compliance with the License.  You may obtain a copy of the License at    
+// http://www.redhat.com/                                                   
+//                                                                          
+// Software distributed under the License is distributed on an "AS IS"      
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
+// License for the specific language governing rights and limitations under 
+// the License.                                                             
+//                                                                          
+// The Original Code is eCos - Embedded Configurable Operating System,      
+// released September 30, 1998.                                             
+//                                                                          
+// The Initial Developer of the Original Code is Red Hat.                   
+// Portions created by Red Hat are                                          
+// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
+// All Rights Reserved.                                                     
+// -------------------------------------------                              
+//                                                                          
+//####COPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):     jskov
+// Contributors:  jskov
+// Date:          2000-03-17
+// Purpose:       Wallclock driver for SH3 CPU RTC module
+//
+// Notes:         Currently only reads from the RTC. There should be a config
+//                option for selecting whether to do init-read or read-write
+//                to the clock. This will be useful on targets which have
+//                battery backing on the RTC circuitry.
+//
+//####DESCRIPTIONEND####
+//
+//==========================================================================
+
+#include <pkgconf/kernel.h>             // Kernel config
+#include <pkgconf/wallclock.h>          // Wallclock device config
+
+#include <cyg/infra/cyg_type.h>         // Common type definitions and support
+#include <cyg/kernel/sched.inl>
+
+#include <cyg/devs/wallclock.hxx>
+
+#include <cyg/hal/sh_regs.h>            // RTC register definitions
+
+#include <cyg/infra/diag.h>         // Common type definitions and support
+
+
+//-----------------------------------------------------------------------------
+// Local static variables
+
+static Cyg_WallClock wallclock_instance CYG_INIT_PRIORITY( CLOCK );
+
+static cyg_uint32 hw_epoch_base;
+
+static cyg_uint32 epoch_ticks;
+static cyg_uint32 epoch_time_stamp;
+
+Cyg_WallClock *Cyg_WallClock::wallclock;
+
+
+//-----------------------------------------------------------------------------
+// BCD helper macros
+#define TO_BCD(x) (((x/10)<<4) | (x%10))
+#define TO_DEC(x) (((x>>4)*10) + (x&0xf))
+
+//-----------------------------------------------------------------------------
+// Functions for setting and getting the hardware clock counters
+
+// Year must be last two digits of "western calendar year". Leap year when
+// divisible by four.
+static void
+set_sh3_hwclock(cyg_uint32 year, cyg_uint32 month, cyg_uint32 mday,
+                cyg_uint32 hour, cyg_uint32 minute, cyg_uint32 second)
+{
+    // Stop RTC
+    HAL_WRITE_UINT8(CYGARC_REG_RCR2, CYGARC_REG_RCR2_RESET);
+
+    // Program it
+    HAL_WRITE_UINT8(CYGARC_REG_RYRCNT,  TO_BCD(year));
+    HAL_WRITE_UINT8(CYGARC_REG_RMONCNT, TO_BCD(month));
+    HAL_WRITE_UINT8(CYGARC_REG_RDAYCNT, TO_BCD(mday));
+    HAL_WRITE_UINT8(CYGARC_REG_RHRCNT,  TO_BCD(hour));
+    HAL_WRITE_UINT8(CYGARC_REG_RMINCNT, TO_BCD(minute));
+    HAL_WRITE_UINT8(CYGARC_REG_RSECCNT, TO_BCD(second));
+
+    // Start RTC
+    HAL_WRITE_UINT8(CYGARC_REG_RCR1, CYGARC_REG_RCR1_CIE);
+    HAL_WRITE_UINT8(CYGARC_REG_RCR2, 
+                    CYGARC_REG_RCR2_RTCEN | CYGARC_REG_RCR2_START);
+
+}
+
+static void
+get_sh3_hwclock(cyg_uint32* year, cyg_uint32* month, cyg_uint32* mday,
+                cyg_uint32* hour, cyg_uint32* minute, cyg_uint32* second)
+{
+    cyg_uint8 tmp;
+
+    do {
+        // Clear carry flag
+        HAL_WRITE_UINT8(CYGARC_REG_RCR1, 0);
+        
+        // Read time
+        HAL_READ_UINT8(CYGARC_REG_RYRCNT, tmp);
+        *year = TO_DEC(tmp);
+        HAL_READ_UINT8(CYGARC_REG_RMONCNT, tmp);
+        *month = TO_DEC(tmp);
+        HAL_READ_UINT8(CYGARC_REG_RDAYCNT, tmp);
+        *mday = TO_DEC(tmp);
+        HAL_READ_UINT8(CYGARC_REG_RHRCNT, tmp);
+        *hour = TO_DEC(tmp);
+        HAL_READ_UINT8(CYGARC_REG_RMINCNT, tmp);
+        *minute = TO_DEC(tmp);
+        HAL_READ_UINT8(CYGARC_REG_RSECCNT, tmp);
+        *second = TO_DEC(tmp);
+
+        // Read carry flag
+        HAL_READ_UINT8(CYGARC_REG_RCR1, tmp);
+    } while (CYGARC_REG_RCR1_CF & tmp); // loop if carry set
+}
+
+//-----------------------------------------------------------------------------
+// Functions providing a simple read-elapsed-seconds interface to the
+// hardware clock
+
+// This function is from the Linux kernel.
+//
+// Converts Gregorian date to seconds since 1970-01-01 00:00:00.
+// Assumes input in normal date format, i.e. 1980-12-31 23:59:59
+// => year=1980, mon=12, day=31, hour=23, min=59, sec=59.
+//
+// This algorithm was first published by Gauss (I think).
+//
+// WARNING: this function will overflow on 2106-02-07 06:28:16 on
+// machines were long is 32-bit! (However, as time_t is signed, we
+// will already get problems at other places on 2038-01-19 03:14:08)
+static cyg_uint32
+_simple_mktime(cyg_uint32 year, cyg_uint32 mon,
+		     cyg_uint32 day, cyg_uint32 hour,
+		     cyg_uint32 min, cyg_uint32 sec)
+{
+	if (0 >= (int) (mon -= 2)) {	/* 1..12 -> 11,12,1..10 */
+		mon += 12;	/* Puts Feb last since it has leap day */
+		year -= 1;
+	}
+	return (((
+		(cyg_uint32)(year/4 - year/100 + year/400 + 367*mon/12 + day) +
+		year*365 - 719499
+		)*24 + hour /* now have hours */
+		)*60 + min /* now have minutes */
+		)*60 + sec; /* finally seconds */
+}
+
+// Returns number of elapsed ticks since the hw_epoch_base
+static inline cyg_uint32 
+get_hw_ticks(void)
+{
+    cyg_uint32 year, month, mday, hour, minute, second;
+
+    get_sh3_hwclock(&year, &month, &mday, &hour, &minute, &second);
+
+#if 0
+    // This will cause the test to eventually fail due to these printouts
+    // causing timer interrupts to be lost...
+    diag_printf("year %02d\n", year);
+    diag_printf("month %02d\n", month);
+    diag_printf("mday %02d\n", mday);
+    diag_printf("hour %02d\n", hour);
+    diag_printf("minute %02d\n", minute);
+    diag_printf("second %02d\n", second);
+#endif
+
+    cyg_uint32 now = _simple_mktime(year, month, mday, hour, minute, second);
+    return now - hw_epoch_base;
+}
+
+static inline void
+init_hw_ticks(void)
+{
+    // This is our base: 1970-01-01 00:00:00
+    // Set the HW clock - if for nothing else, just to be sure it's in a
+    // legal range. Any arbitrary base could be used.
+    // After this the hardware clock is only read.
+    hw_epoch_base = _simple_mktime(1970,1,1,0,0,0);
+    set_sh3_hwclock(70,1,1,0,0,0);
+}
+
+//-----------------------------------------------------------------------------
+// Constructor
+
+Cyg_WallClock::Cyg_WallClock()
+{
+    // install instance pointer
+    wallclock = &wallclock_instance;
+
+    init_hw_ticks();
+}
+
+//-----------------------------------------------------------------------------
+// Returns the current timestamp. This may involve reading the
+// hardware, so it may take anything up to a second to complete.
+
+cyg_uint32 Cyg_WallClock::get_current_time()
+{
+    Cyg_Scheduler::lock();
+
+    cyg_uint32 diff = get_hw_ticks() - epoch_ticks;
+
+    Cyg_Scheduler::unlock();
+
+    return epoch_time_stamp + diff;
+}
+
+//-----------------------------------------------------------------------------
+// Sets the value of the timestamp relative to now. This may involve
+// writing to the hardware, so it may take anything up to a second to
+// complete.
+void Cyg_WallClock::set_current_time( cyg_uint32 time_stamp )
+{
+    Cyg_Scheduler::lock();
+
+    epoch_time_stamp    = time_stamp;
+    epoch_ticks         = get_hw_ticks();
+
+    Cyg_Scheduler::unlock();
+}
+
+//-----------------------------------------------------------------------------
+// End of devs/wallclock/sh3.cxx
--- a/packages/ecos.db
+++ b/packages/ecos.db
@@ -626,11 +626,12 @@ CMA230 (ARM7TDMI) or CMA222 (ARM710T) bo
 # SH targets
 
 target sh7708 {
-	alias { "Hitachi SH7708 board" edk7708 }
-	packages { CYGPKG_HAL_SH CYGPKG_HAL_SH_EDK7708 CYGPKG_IO_SERIAL }
+	alias       { "Hitachi EDK/SH7708 board" edk7708 }
+	packages    { CYGPKG_HAL_SH CYGPKG_HAL_SH_EDK7708 CYGPKG_IO_SERIAL }
+	enable      { CYGPKG_HAL_SH_7708 }
         description "
            The sh7708 target provides the packages needed to run
-           eCos on a Hitachi SH7708 board."
+           eCos on a Hitachi EDK/SH7708 board."
 }
 
 # --------------------------------------------------------------------------
@@ -666,7 +667,7 @@ target sleb {
 
 target sparclite_sim {
 	alias		{ "SPARClite simulator" sl_sim sparcl_sim }
-	packages        { CYGPKG_HAL_SPARCLITE CYGPKG_HAL_SPARCLITE_SIM }
+	packages        { CYGPKG_HAL_SPARCLITE CYGPKG_HAL_SPARCLITE_SIM CYGPKG_IO_SERIAL }
         description "
     	    The sparclite_sim target provides the packages need to run eCos
             on the SPARClite simulator."
--- a/packages/ecosadmin.tcl
+++ b/packages/ecosadmin.tcl
@@ -1,3 +1,15 @@
+#!/bin/sh
+# these lines restart using the tcl shell \
+  exec sh -c "if ( echo | tclsh ) 2>/dev/null ; then \
+      exec tclsh \"$0\" ${1+\"$@\"} ; \
+    elif ( echo | cygtclsh80 ) 2>/dev/null ; then \
+      exec cygtclsh80 \"$0\" ${1+\"$@\"} ; \
+    else \
+      echo Could not find TCL interpreter ; \
+      exit 1 ; \
+    fi"
+
+
 # {{{  Banner
 
 #===============================================================================
@@ -51,7 +63,7 @@
 # ----------------------------------------------------------------------------
 # ecosadmin.tcl requires at least version 8.0 of Tcl, since it makes use of
 # namespaces. It is possible that some users still have older versions.
-
+set a b
 if { [info tclversion] < 8.0 } {
 	puts "This script requires Tcl 8.0 or later. You are running Tcl [info patchlevel]."
 	return
--- a/packages/hal/arm/arch/current/ChangeLog
+++ b/packages/hal/arm/arch/current/ChangeLog
@@ -1,7 +1,10 @@
-2000-03-23  Jesper Skov  <jskov@redhat.com>
+2000-03-24  Jesper Skov  <jskov@redhat.com>
+
+	* src/arm_stub.c: Make place_break thumb-aware.
 
-	* include/hal_arch.h: workaround for CPP problem
-
+	* include/arm_stub.h (CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION): 
+	Thumb-aware definition.
+	
 2000-03-01  Gary Thomas  <gthomas@cygnus.co.uk>
 
 	* cdl/hal_arm.cdl: 
--- a/packages/hal/arm/arch/current/include/arm_stub.h
+++ b/packages/hal/arm/arch/current/include/arm_stub.h
@@ -107,6 +107,29 @@ extern void __install_breakpoints (void)
 
 extern void __clear_breakpoints (void);
 
+//------------------------------------------------------------------------
+// Special definition of CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION
+#ifdef __thumb__
+// If this macro is used from Thumb code, we need to pass this information
+// along to the place_break function so it can do the right thing.
+#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                         \
+do {                                                                          \
+    HAL_DISABLE_INTERRUPTS(_old_);                                            \
+    cyg_hal_gdb_place_break((target_register_t)((unsigned long)&&cyg_hal_gdb_break_place + 1));\
+} while ( 0 )
+
+#else
+
+#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                       \
+do {                                                                        \
+    HAL_DISABLE_INTERRUPTS(_old_);                                          \
+    cyg_hal_gdb_place_break((target_register_t)&&cyg_hal_gdb_break_place ); \
+} while ( 0 )
+
+#endif
+
+
+
 #ifdef __cplusplus
 } /* extern "C" */
 #endif
--- a/packages/hal/arm/arch/current/include/hal_arch.h
+++ b/packages/hal/arm/arch/current/include/hal_arch.h
@@ -292,22 +292,22 @@ externC void hal_idle_thread_action(cyg_
 // under "enough rope" sort of disclaimers.
 
 // A minimal, optimized stack frame, rounded up - no autos
-#define CYGNUM_HAL_STACK_FRAME_SIZE (80) // (4 * 20)
+#define CYGNUM_HAL_STACK_FRAME_SIZE (4 * 20)
 
 // Stack needed for a context switch: this is implicit in the estimate for
 // interrupts so not explicitly used below:
-#define CYGNUM_HAL_STACK_CONTEXT_SIZE (80) // (4 * 20)
+#define CYGNUM_HAL_STACK_CONTEXT_SIZE (4 * 20)
 
 // Interrupt + call to ISR, interrupt_end() and the DSR
-#define CYGNUM_HAL_STACK_INTERRUPT_SIZE (240)
-//    ((4 * 20) + 2 * CYGNUM_HAL_STACK_FRAME_SIZE)
+#define CYGNUM_HAL_STACK_INTERRUPT_SIZE \
+    ((4 * 20) + 2 * CYGNUM_HAL_STACK_FRAME_SIZE)
 
 // Space for the maximum number of nested interrupts, plus room to call functions
 #define CYGNUM_HAL_MAX_INTERRUPT_NESTING 4
 
-#define CYGNUM_HAL_STACK_SIZE_MINIMUM (1120)
-//        (CYGNUM_HAL_MAX_INTERRUPT_NESTING * CYGNUM_HAL_STACK_INTERRUPT_SIZE +
-//         2 * CYGNUM_HAL_STACK_FRAME_SIZE)
+#define CYGNUM_HAL_STACK_SIZE_MINIMUM \
+        (CYGNUM_HAL_MAX_INTERRUPT_NESTING * CYGNUM_HAL_STACK_INTERRUPT_SIZE + \
+         2 * CYGNUM_HAL_STACK_FRAME_SIZE)
 
 #define CYGNUM_HAL_STACK_SIZE_TYPICAL \
         (CYGNUM_HAL_STACK_SIZE_MINIMUM + \
--- a/packages/hal/arm/arch/current/src/arm_stub.c
+++ b/packages/hal/arm/arch/current/src/arm_stub.c
@@ -385,6 +385,9 @@ target_ins(unsigned long *pc, unsigned l
         }
     case 0x3:  // Coprocessor & SWI
         return (pc+1);
+    default:
+        // Never reached - but fixes compiler warning.
+        return 0;
     }
 }
 
@@ -577,17 +580,26 @@ cyg_hal_gdb_interrupt (target_register_t
     }
 }
 
+// This function is passed thumb/arm information about the PC address
+// in bit 0. This information is passed on to the break_buffer.
 void 
 cyg_hal_gdb_place_break (target_register_t pc)
 {
     // Clear flag that we Continued instead of Stepping
     cyg_hal_gdb_running_step = 0;
-    // Unconditionally place an ARM breakpoint not a THUMB; there is
-    // no saved regset for get_register in this call:
+
     if (0 == break_buffer.targetAddr) {
-        break_buffer.targetAddr = (cyg_uint32)pc;
-        break_buffer.savedInstr.arm_instr = *(cyg_uint32*)pc;
-        *(cyg_uint32*)pc = HAL_BREAKINST_ARM;
+        // Setting a breakpoint in Thumb or ARM code?
+       if (IS_THUMB_ADDR(pc)) {
+            break_buffer.targetAddr = (cyg_uint32)pc;
+            pc = UNMAKE_THUMB_ADDR(pc);
+            break_buffer.savedInstr.thumb_instr = *(cyg_uint16*)pc;
+            *(cyg_uint16*)pc = HAL_BREAKINST_THUMB;
+        } else {
+            break_buffer.targetAddr = (cyg_uint32)pc;
+            break_buffer.savedInstr.arm_instr = *(cyg_uint32*)pc;
+            *(cyg_uint32*)pc = HAL_BREAKINST_ARM;
+        }
         
         __data_cache(CACHE_FLUSH);
         __instruction_cache(CACHE_FLUSH);
--- a/packages/hal/arm/pid/current/ChangeLog
+++ b/packages/hal/arm/pid/current/ChangeLog
@@ -1,3 +1,7 @@
+2000-03-24  Jesper Skov  <jskov@redhat.com>
+
+	* src/hal_diag.c (hal_diag_write_char): Fix compiler warning.
+
 2000-02-29  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
         * include/pkgconf/mlt_arm_pid_ram.h:
--- a/packages/hal/arm/pid/current/src/hal_diag.c
+++ b/packages/hal/arm/pid/current/src/hal_diag.c
@@ -340,7 +340,7 @@ hal_diag_write_char(char c)
             cyg_drv_interrupt_acknowledge(CYG_DEVICE_SERIAL_INT);
             if( c1 == 3 ) {
                 // Ctrl-C: breakpoint.
-                cyg_hal_gdb_interrupt (__builtin_return_address(0));
+                cyg_hal_gdb_interrupt ((target_register_t)__builtin_return_address(0));
                 break;
             }
 #endif
--- a/packages/hal/common/current/ChangeLog
+++ b/packages/hal/common/current/ChangeLog
@@ -1,9 +1,22 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  Jesper Skov  <jskov@redhat.com>
+
+	* src/generic-stub.c (__process_packet): Added 'z' packet reply.
+
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/hal.cdl:
 
 	Adjust documentation URLs.
 
+2000-03-24  Jesper Skov  <jskov@redhat.com>
+
+	* include/hal_stub.h: Fixed a bad function name. Made it opssible
+	for archs to define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION.
+
+2000-03-20  Jesper Skov  <jskov@redhat.com>
+
+	* cdl/debugging.cdl: Preclude USE_MONITOR when including stubs.
+
 2000-03-01  Gary Thomas  <gthomas@cygnus.co.uk>
 
 	* cdl/common.cdl: 
--- a/packages/hal/common/current/cdl/debugging.cdl
+++ b/packages/hal/common/current/cdl/debugging.cdl
@@ -50,6 +50,7 @@ cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_
     display       "Include GDB stubs in HAL"
     active_if     CYGINT_HAL_DEBUG_GDB_STUBS
     default_value 0
+    requires      ! CYGSEM_HAL_USE_ROM_MONITOR
     description   "
         This option causes a set of GDB stubs to be included into the
         system. On some target systems the GDB support will be
--- a/packages/hal/common/current/include/hal_stub.h
+++ b/packages/hal/common/current/include/hal_stub.h
@@ -183,31 +183,34 @@ extern volatile int cyg_hal_gdb_running_
 
 #if 1 // Can use the address of a label: this is more portable
 
-#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                           \
-do {                                                                            \
-    HAL_DISABLE_INTERRUPTS(_old_);                                              \
-    cyg_hal_gdb_place_break( &&cyg_hal_gdb_break_place );                       \
+// This macro may already have been defined by the architecture HAL
+#ifndef CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION
+#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                        \
+do {                                                                         \
+    HAL_DISABLE_INTERRUPTS(_old_);                                           \
+    cyg_hal_gdb_place_break( (target_register_t)&&cyg_hal_gdb_break_place ); \
 } while ( 0 )
+#endif
 
-#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ )                           \
-do {                                                                            \
-    cyg_hal_gdb_remove_break( &&cyg_hal_gdb_break_place );                      \
-    HAL_RESTORE_INTERRUPTS(_old_);                                              \
-cyg_hal_gdb_break_place:                                                        \
+#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ )                         \
+do {                                                                          \
+    cyg_hal_gdb_remove_break( (target_register_t)&&cyg_hal_gdb_break_place ); \
+    HAL_RESTORE_INTERRUPTS(_old_);                                            \
+cyg_hal_gdb_break_place:                                                      \
 } while ( 0 )
 
 #else // use __builtin_return_address instead.
 
-#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                           \
-do {                                                                            \
-    HAL_DISABLE_INTERRUPTS(_old_);                                              \
-    cyg_hal_place_break((target_register_t)__builtin_return_address(0));        \
+#define CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION( _old_ )                        \
+do {                                                                         \
+    HAL_DISABLE_INTERRUPTS(_old_);                                           \
+    cyg_hal_gdb_place_break((target_register_t)__builtin_return_address(0)); \
 } while ( 0 )
 
-#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ )                           \
-do {                                                                            \
-    cyg_hal_gdb_remove_break((target_register_t)__builtin_return_address(0));   \
-    HAL_RESTORE_INTERRUPTS(_old_);                                              \
+#define CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION( _old_ )                         \
+do {                                                                          \
+    cyg_hal_gdb_remove_break((target_register_t)__builtin_return_address(0)); \
+    HAL_RESTORE_INTERRUPTS(_old_);                                            \
 } while ( 0 )
 
 #endif
--- a/packages/hal/common/current/src/generic-stub.c
+++ b/packages/hal/common/current/src/generic-stub.c
@@ -973,14 +973,23 @@ int
         break;
       }
 
-    case 'd':
-      /* toggle debug flag */
 #ifdef __ECOS__
 #if !defined(CYG_HAL_STARTUP_RAM)    // Only for ROM based stubs
+    case 'z':
+        /* report IO buffer sizes so download can achieve optimal
+           download speed */
+    {
+        int i;
+        i = __intToHex (remcomOutBuffer, BUFMAX, 32);
+        remcomOutBuffer[i] = 0;
+        break;
+    }
+    case 'd':
+      /* toggle debug flag */
       strcpy(remcomOutBuffer, "eCos GDB stubs - built " __DATE__ " / " __TIME__);
+      break;
 #endif
 #endif // __ECOS__
-      break;
 
     case 'q':
       /* general query packet */
--- a/packages/hal/i386/arch/current/ChangeLog
+++ b/packages/hal/i386/arch/current/ChangeLog
@@ -1,6 +1,12 @@
-2000-03-24  Jonathan Larmour  <jlarmour@redhat.co.uk>
+2000-03-27  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* include/basetype.h: Let cyg_halbool revert to the system default
+	(i.e. a word)
 
-	* include/basetype.h: define cyg_halbool as unsigned char
+2000-03-24  Jesper Skov  <jskov@redhat.com>
+
+	* include/basetype.h: Define bool type since it's only 8 bits.
+	(cyg_halbool): always unsigned char.
 
 2000-03-02  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
--- a/packages/hal/i386/arch/current/include/basetype.h
+++ b/packages/hal/i386/arch/current/include/basetype.h
@@ -58,10 +58,8 @@
 //-----------------------------------------------------------------------------
 // Define the standard variable sizes
 
-#define cyg_halbool unsigned char
-
-// Other than this, the I386 architecture uses the default definitions of
-// the base types, so we do not need to define any here.
+// The ix86 architecture uses the default definitions of the base types,
+// so we do not need to define any here.
 
 //-----------------------------------------------------------------------------
 #endif // CYGONCE_HAL_BASETYPE_H
--- a/packages/hal/mips/jmr3904/current/ChangeLog
+++ b/packages/hal/mips/jmr3904/current/ChangeLog
@@ -1,13 +1,3 @@
-2000-03-21  Jonathan Larmour  <jlarmour@redhat.co.uk>
-
-	* include/pkgconf/mlt_mips_tx39_jmr3904_ram.h,
-	include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi,
-	include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt,
-	include/pkgconf/mlt_mips_tx39_jmr3904_rom.h,
-	include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi,
-	include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt:
-	Revert previous change
-
 2000-03-16  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
 	* include/pkgconf/mlt_mips_tx39_jmr3904_ram.h,
--- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi
+++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.ldi
@@ -1,32 +1,6 @@
-//===========================================================================
-//
-// MLT linker script export - Wed Jan 13 17:05:29 1999
-//
-//===========================================================================
-//####COPYRIGHTBEGIN####
-//                                                                          
-// -------------------------------------------                              
-// The contents of this file are subject to the Red Hat eCos Public License 
-// Version 1.1 (the "License"); you may not use this file except in         
-// compliance with the License.  You may obtain a copy of the License at    
-// http://www.redhat.com/                                                   
-//                                                                          
-// Software distributed under the License is distributed on an "AS IS"      
-// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
-// License for the specific language governing rights and limitations under 
-// the License.                                                             
-//                                                                          
-// The Original Code is eCos - Embedded Configurable Operating System,      
-// released September 30, 1998.                                             
-//                                                                          
-// The Initial Developer of the Original Code is Red Hat.                   
-// Portions created by Red Hat are                                          
-// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
-// All Rights Reserved.                                                     
-// -------------------------------------------                              
-//                                                                          
-//####COPYRIGHTEND####
-//===========================================================================
+// eCos memory layout - Thu Mar 16 16:19:05 2000
+
+// This is a generated file - do not edit
 
 MEMORY
 {
@@ -37,16 +11,25 @@ SECTIONS
 {
     SECTIONS_BEGIN
     SECTION_rom_vectors (ram, 0x80008000, LMA_EQ_VMA)
+    SECTION_ROMISC (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_RELOCS (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_init (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_data1 (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rel__dyn (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTIONS_END
 }
--- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt
+++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_ram.mlt
@@ -1,14 +1,23 @@
 version 0
 region ram 80008000 78000 0 !
-section rom_vectors 0 1 0 1 1 1 1 1 80008000 80008000 text text !
+section rom_vectors 0 1 0 1 1 1 1 1 80008000 80008000 ROMISC ROMISC !
+section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS !
+section RELOCS 0 1 0 1 0 1 0 1 init init !
+section init 0 1 0 1 0 1 0 1 text text !
 section text 0 1 0 1 0 1 0 1 fini fini !
-section fini 0 1 0 1 0 1 0 1 ctors ctors !
-section ctors 0 1 0 1 0 1 0 1 dtors dtors !
-section dtors 0 1 0 1 0 1 0 1 rodata rodata !
+section fini 0 1 0 1 0 1 0 1 rodata rodata !
 section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 1 0 1 0 1 0 1 fixup fixup !
-section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn !
-section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 1 0 1 0 1 0 1 data data !
-section data 0 8 0 1 0 1 0 1 bss bss !
+section rodata1 0 1 0 1 0 1 0 1 data data !
+section data 0 8 0 1 0 1 0 1 data1 data1 !
+section data1 0 8 0 1 0 1 0 1 eh_frame eh_frame !
+section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
+section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors !
+section ctors 0 1 0 1 0 1 0 1 dtors dtors !
+section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB !
+section DEVTAB 0 1 0 1 0 1 0 1 got got !
+section got 0 1 0 1 0 1 0 1 dynamic dynamic !
+section dynamic 0 1 0 1 0 1 0 1 sdata sdata !
+section sdata 0 4 0 1 0 1 0 1 lit lit !
+section lit 0 4 0 1 0 1 0 1 sbss sbss !
+section sbss 0 4 0 1 0 1 0 1 bss bss !
 section bss 0 4 0 1 0 0 0 0 !
--- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h
+++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.h
@@ -1,6 +1,6 @@
-// eCos memory layout - Wed Nov 24 11:15:31 1999
+// eCos memory layout - Thu Mar 16 16:47:52 2000
 
-// This is a generated file - changes will be lost if ConfigTool(MLT) is run
+// This is a generated file - do not edit
 
 #include <cyg/infra/cyg_type.h>
 #include <stddef.h>
--- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi
+++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.ldi
@@ -1,32 +1,6 @@
-//===========================================================================
-//
-// MLT linker script export - Wed Jan 13 10:44:34 1999
-//
-//===========================================================================
-//####COPYRIGHTBEGIN####
-//                                                                          
-// -------------------------------------------                              
-// The contents of this file are subject to the Red Hat eCos Public License 
-// Version 1.1 (the "License"); you may not use this file except in         
-// compliance with the License.  You may obtain a copy of the License at    
-// http://www.redhat.com/                                                   
-//                                                                          
-// Software distributed under the License is distributed on an "AS IS"      
-// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
-// License for the specific language governing rights and limitations under 
-// the License.                                                             
-//                                                                          
-// The Original Code is eCos - Embedded Configurable Operating System,      
-// released September 30, 1998.                                             
-//                                                                          
-// The Initial Developer of the Original Code is Red Hat.                   
-// Portions created by Red Hat are                                          
-// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
-// All Rights Reserved.                                                     
-// -------------------------------------------                              
-//                                                                          
-//####COPYRIGHTEND####
-//===========================================================================
+// eCos memory layout - Thu Mar 16 16:47:52 2000
+
+// This is a generated file - do not edit
 
 MEMORY
 {
@@ -38,16 +12,25 @@ SECTIONS
 {
     SECTIONS_BEGIN
     SECTION_rom_vectors (rom, 0xbfc00000, LMA_EQ_VMA)
+    SECTION_ROMISC (rom, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_RELOCS (rom, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_init (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_ctors (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_dtors (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_rodata (rom, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_rodata1 (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rel__dyn (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_data (ram, 0x80000200, FOLLOWING (.gcc_except_table))
+    SECTION_data (ram, 0x80000200, FOLLOWING (.rodata1))
+    SECTION_data1 (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTIONS_END
 }
--- a/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt
+++ b/packages/hal/mips/jmr3904/current/include/pkgconf/mlt_mips_tx39_jmr3904_rom.mlt
@@ -1,15 +1,24 @@
 version 0
 region ram 80000200 7fe00 0 !
 region rom bfc00000 80000 1 !
-section data 0 1 1 1 1 1 0 0 80000200 bss !
-section bss 0 4 0 1 0 0 0 0 !
-section rom_vectors 0 1 0 1 1 1 1 1 bfc00000 bfc00000 text text !
-section text 0 1 0 1 0 1 0 1 fini fini !
-section fini 0 1 0 1 0 1 0 1 ctors ctors !
+section data 0 8 1 1 1 1 0 0 80000200 data1 !
+section data1 0 1 0 1 0 1 0 1 eh_frame eh_frame !
+section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
+section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors !
 section ctors 0 1 0 1 0 1 0 1 dtors dtors !
-section dtors 0 1 0 1 0 1 0 1 rodata rodata !
+section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB !
+section DEVTAB 0 1 0 1 0 1 0 1 got got !
+section got 0 1 0 1 0 1 0 1 dynamic dynamic !
+section dynamic 0 1 0 1 0 1 0 1 sdata sdata !
+section sdata 0 4 0 1 0 1 0 1 lit lit !
+section lit 0 4 0 1 0 1 0 1 sbss sbss !
+section sbss 0 4 0 1 0 1 0 1 bss bss !
+section bss 0 4 0 1 0 0 0 0 !
+section rom_vectors 0 1 0 1 1 1 1 1 bfc00000 bfc00000 ROMISC ROMISC !
+section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS !
+section RELOCS 0 1 0 1 0 1 0 1 init init !
+section init 0 1 0 1 0 1 0 1 text text !
+section text 0 1 0 1 0 1 0 1 fini fini !
+section fini 0 1 0 1 0 1 0 1 rodata rodata !
 section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 1 0 1 0 1 0 1 fixup fixup !
-section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn !
-section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 1 0 1 0 0 0 1 data !
+section rodata1 0 1 0 1 0 0 0 1 data !
--- a/packages/hal/mips/sim/current/ChangeLog
+++ b/packages/hal/mips/sim/current/ChangeLog
@@ -1,10 +1,3 @@
-2000-03-21  Jonathan Larmour  <jlarmour@redhat.co.uk>
-
-	* sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h,
-	sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi,
-	sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt:
-	Revert previous change
-
 2000-03-16  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
 	* sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h,
--- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h
+++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.h
@@ -1,10 +1,10 @@
-// eCos memory layout - Thu Nov 25 22:16:12 1999
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#define CYGMEM_REGION_ram (0x80000000)
-#define CYGMEM_REGION_ram_SIZE (0x80000)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
+// eCos memory layout - Thu Mar 16 16:55:45 2000
+
+// This is a generated file - do not edit
+
+#include <cyg/infra/cyg_type.h>
+#include <stddef.h>
+
+#define CYGMEM_REGION_ram (0x80000000)
+#define CYGMEM_REGION_ram_SIZE (0x80000)
+#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
--- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi
+++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.ldi
@@ -1,32 +1,6 @@
-//===========================================================================
-//
-// MLT linker script export - Wed Jan 13 10:41:43 1999
-//
-//===========================================================================
-//####COPYRIGHTBEGIN####
-//                                                                          
-// -------------------------------------------                              
-// The contents of this file are subject to the Red Hat eCos Public License 
-// Version 1.1 (the "License"); you may not use this file except in         
-// compliance with the License.  You may obtain a copy of the License at    
-// http://www.redhat.com/                                                   
-//                                                                          
-// Software distributed under the License is distributed on an "AS IS"      
-// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
-// License for the specific language governing rights and limitations under 
-// the License.                                                             
-//                                                                          
-// The Original Code is eCos - Embedded Configurable Operating System,      
-// released September 30, 1998.                                             
-//                                                                          
-// The Initial Developer of the Original Code is Red Hat.                   
-// Portions created by Red Hat are                                          
-// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
-// All Rights Reserved.                                                     
-// -------------------------------------------                              
-//                                                                          
-//####COPYRIGHTEND####
-//===========================================================================
+// eCos memory layout - Thu Mar 16 16:55:45 2000
+
+// This is a generated file - do not edit
 
 MEMORY
 {
@@ -37,17 +11,26 @@ SECTIONS
 {
     SECTIONS_BEGIN
     SECTION_rom_vectors (ram, 0x80000000, LMA_EQ_VMA)
+    SECTION_ROMISC (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_RELOCS (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_init (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_fini (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_vsr_table (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_data1 (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_eh_frame (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_ctors (ram, ALIGN (0x1), LMA_EQ_VMA)
     SECTION_dtors (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_vsr_table (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_rel__dyn (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x8), LMA_EQ_VMA)
+    SECTION_DEVTAB (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_got (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_dynamic (ram, ALIGN (0x1), LMA_EQ_VMA)
+    SECTION_sdata (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_lit (ram, ALIGN (0x4), LMA_EQ_VMA)
+    SECTION_sbss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
     SECTIONS_END
 }
--- a/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt
+++ b/packages/hal/mips/sim/current/include/pkgconf/mlt_mips_tx39_sim_ram.mlt
@@ -1,15 +1,24 @@
 version 0
 region ram 80000000 80000 0 !
-section rom_vectors 0 1 0 1 1 1 1 1 80000000 80000000 text text !
+section rom_vectors 0 1 0 1 1 1 1 1 80000000 80000000 ROMISC ROMISC !
+section ROMISC 0 1 0 1 0 1 0 1 RELOCS RELOCS !
+section RELOCS 0 1 0 1 0 1 0 1 init init !
+section init 0 1 0 1 0 1 0 1 text text !
 section text 0 1 0 1 0 1 0 1 fini fini !
-section fini 0 1 0 1 0 1 0 1 ctors ctors !
+section fini 0 1 0 1 0 1 0 1 rodata rodata !
+section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 !
+section rodata1 0 1 0 1 0 1 0 1 vsr_table vsr_table !
+section vsr_table 0 1 0 1 0 1 0 1 data data !
+section data 0 8 0 1 0 1 0 1 data1 data1 !
+section data1 0 8 0 1 0 1 0 1 eh_frame eh_frame !
+section eh_frame 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
+section gcc_except_table 0 1 0 1 0 1 0 1 ctors ctors !
 section ctors 0 1 0 1 0 1 0 1 dtors dtors !
-section dtors 0 1 0 1 0 1 0 1 rodata rodata !
-section rodata 0 1 0 1 0 1 0 1 vsr_table vsr_table !
-section vsr_table 0 1 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 1 0 1 0 1 0 1 fixup fixup !
-section fixup 0 1 0 1 0 1 0 1 rel.dyn rel.dyn !
-section rel.dyn 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 1 0 1 0 1 0 1 data data !
-section data 0 8 0 1 0 1 0 1 bss bss !
+section dtors 0 1 0 1 0 1 0 1 DEVTAB DEVTAB !
+section DEVTAB 0 1 0 1 0 1 0 1 got got !
+section got 0 1 0 1 0 1 0 1 dynamic dynamic !
+section dynamic 0 1 0 1 0 1 0 1 sdata sdata !
+section sdata 0 4 0 1 0 1 0 1 lit lit !
+section lit 0 4 0 1 0 1 0 1 sbss sbss !
+section sbss 0 4 0 1 0 1 0 1 bss bss !
 section bss 0 4 0 1 0 0 0 0 !
--- a/packages/hal/mips/tx39/current/ChangeLog
+++ b/packages/hal/mips/tx39/current/ChangeLog
@@ -1,8 +1,3 @@
-2000-03-21  Jonathan Larmour  <jlarmour@redhat.co.uk>
-
-	* src/mips_tx39.ld: Revert previous change, but add .lit8 and .lit4
-	input sections for .data instead
-
 2000-03-16  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
 	* src/mips_tx39.ld: Update from latest "mips-tx39-elf-ld --verbose"
--- a/packages/hal/mips/tx39/current/src/mips_tx39.ld
+++ b/packages/hal/mips/tx39/current/src/mips_tx39.ld
@@ -30,6 +30,12 @@
 
 #include <pkgconf/system.h>
 
+OUTPUT_FORMAT("elf32-bigmips", "elf32-bigmips",
+              "elf32-littlemips")
+/* The preprocessor defines mips, but we know we're mips :-) */
+#undef mips
+OUTPUT_ARCH(mips:3000)
+
 STARTUP(vectors.o)
 ENTRY(reset_vector)
 #ifdef EXTRAS
@@ -40,7 +46,6 @@ GROUP(libtarget.a libgcc.a)
 #define ALIGN_LMA 8
 #define FOLLOWING(_section_) AT ((LOADADDR (_section_) + SIZEOF (_section_) + ALIGN_LMA - 1) & ~ (ALIGN_LMA - 1))
 #define LMA_EQ_VMA
-#define FORCE_OUTPUT . = .
 
 #define SECTIONS_BEGIN
 
@@ -51,9 +56,9 @@ GROUP(libtarget.a libgcc.a)
     .rom_vectors _vma_ : _lma_ \
     { KEEP (*(.utlb_vector)) \
     . = ALIGN(0x80); KEEP(*(.other_vector)) \
-	/* debug and reset vector not used in RAM version */ \
+        /* debug and reset vector not used in RAM version */ \
         KEEP(*(.debug_vector)) \
-	KEEP (*(.reset_vector)) } \
+        KEEP (*(.reset_vector)) } \
     > _region_
 
 #elif defined(CYG_HAL_STARTUP_ROM)
@@ -69,116 +74,279 @@ GROUP(libtarget.a libgcc.a)
 
 #endif /* ROM startup version of ROM vectors */
 
-#define SECTION_text(_region_, _vma_, _lma_) \
-    .text _vma_ : _lma_ \
-    { _stext = ABSOLUTE(.); \
-    *(.text*) *(.gnu.warning) *(.gnu.linkonce*) *(.init) } \
-    > _region_ \
-    _etext = .; PROVIDE (etext = .);
+#define SECTION_ROMISC(_region_, _vma_, _lma_)                                 \
+  .interp _vma_  : _lma_ { *(.interp)                            } > _region_  \
+  .hash          : FOLLOWING(.interp)        { *(.hash)          } > _region_  \
+  .dynsym        : FOLLOWING(.hash)          { *(.dynsym)        } > _region_  \
+  .dynstr        : FOLLOWING(.dynsym)        { *(.dynstr)        } > _region_  \
+  .gnu.version   : FOLLOWING(.dynstr)        { *(.gnu.version)   } > _region_  \
+  .gnu.version_d : FOLLOWING(.gnu.version)   { *(.gnu.version_d) } > _region_  \
+  .gnu.version_r : FOLLOWING(.gnu.version_d) { *(.gnu.version_r) } > _region_  \
+  .plt           : FOLLOWING(.gnu.version_r) { *(.plt)           } > _region_
 
-#define SECTION_fini(_region_, _vma_, _lma_) \
-    .fini _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.fini) } \
-    > _region_
-
-#define SECTION_ctors(_region_, _vma_, _lma_)	\
-   .ctors _vma_ : _lma_				\
-   {						\
-     __CTOR_LIST__ = ABSOLUTE (.);		\
-     KEEP(*(.ctors))				\
-     KEEP(*(SORT(.ctors.*)))			\
-     __CTOR_END__ = ABSOLUTE (.);		\
-   } > _region_
+#define SECTION_RELOCS(_region_, _vma_, _lma_)                              \
+  .rel.text      :                                                          \
+    {                                                                       \
+      *(.rel.text)                                                          \
+      *(.rel.text.*)                                                        \
+      *(.rel.gnu.linkonce.t*)                                               \
+    } > _region_                                                            \
+  .rela.text     :                                                          \
+    {                                                                       \
+      *(.rela.text)                                                         \
+      *(.rela.text.*)                                                       \
+      *(.rela.gnu.linkonce.t*)                                              \
+    } > _region_                                                            \
+  .rel.data      :                                                          \
+    {                                                                       \
+      *(.rel.data)                                                          \
+      *(.rel.data.*)                                                        \
+      *(.rel.gnu.linkonce.d*)                                               \
+    } > _region_                                                            \
+  .rela.data     :                                                          \
+    {                                                                       \
+      *(.rela.data)                                                         \
+      *(.rela.data.*)                                                       \
+      *(.rela.gnu.linkonce.d*)                                              \
+    } > _region_                                                            \
+  .rel.rodata    :                                                          \
+    {                                                                       \
+      *(.rel.rodata)                                                        \
+      *(.rel.rodata.*)                                                      \
+      *(.rel.gnu.linkonce.r*)                                               \
+    } > _region_                                                            \
+  .rela.rodata   :                                                          \
+    {                                                                       \
+      *(.rela.rodata)                                                       \
+      *(.rela.rodata.*)                                                     \
+      *(.rela.gnu.linkonce.r*)                                              \
+    } > _region_                                                            \
+  .rel.got       :   { *(.rel.got)    } > _region_                          \
+  .rela.got      :   { *(.rela.got)   } > _region_                          \
+  .rel.ctors     :   { *(.rel.ctors)  } > _region_                          \
+  .rela.ctors    :   { *(.rela.ctors) } > _region_                          \
+  .rel.dtors     :   { *(.rel.dtors)  } > _region_                          \
+  .rela.dtors    :   { *(.rela.dtors) } > _region_                          \
+  .rel.init      :   { *(.rel.init)   } > _region_                          \
+  .rela.init     :   { *(.rela.init)  } > _region_                          \
+  .rel.fini      :   { *(.rel.fini)   } > _region_                          \
+  .rela.fini     :   { *(.rela.fini)  } > _region_                          \
+  .rel.bss       :   { *(.rel.bss)    } > _region_                          \
+  .rela.bss      :   { *(.rela.bss)   } > _region_                          \
+  .rel.plt       :   { *(.rel.plt)    } > _region_                          \
+  .rela.plt      :   { *(.rela.plt)   } > _region_                          \
+  .rel.dyn       :   { *(.rel.dyn)    } > _region_
 
-#define SECTION_dtors(_region_, _vma_, _lma_)	\
-   .dtors _vma_ : _lma_				\
-   {						\
-     __DTOR_LIST__ = ABSOLUTE (.);		\
-     KEEP(*(SORT(.dtors.*)))			\
-     KEEP(*(.dtors))				\
-     __DTOR_END__ = ABSOLUTE (.);		\
-   } > _region_
+#define SECTION_init(_region_, _vma_, _lma_)   \
+  .init _vma_ : _lma_                          \
+    {                                          \
+      KEEP (*(.init))                          \
+    } > _region_ =0
 
-#define SECTION_rodata(_region_, _vma_, _lma_) \
-    .rodata _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.rodata*) } \
-    > _region_
+#define SECTION_text(_region_, _vma_, _lma_)   \
+  .text _vma_ : _lma_                          \
+    {                                          \
+      _stext = .; _ftext = . ;                 \
+      *(.text)                                 \
+      *(.text.*)                               \
+      *(.stub)                                 \
+      *(.gnu.warning)                          \
+      *(.gnu.linkonce.t*)                      \
+      *(.mips16.fn.*) *(.mips16.call.*)        \
+    } > _region_ =0                            \
+  _etext = .; PROVIDE (etext = .);
+
+#define SECTION_fini(_region_, _vma_, _lma_)   \
+  .fini _vma_ : _lma_                          \
+    {                                          \
+      KEEP (*(.fini))                          \
+    } > _region_ =0
+
+#define SECTION_rodata(_region_, _vma_, _lma_)        \
+  .rodata _vma_ : _lma_                               \
+    {                                                 \
+      *(.rodata*) *(.rodata.*) *(.gnu.linkonce.r*)    \
+    } > _region_
 
-#define SECTION_vsr_table(_region_, _vma_, _lma_) \
-    .vsr_table _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.vsr_table) } \
-    > _region_
+#define SECTION_rodata1(_region_, _vma_, _lma_)       \
+  .rodata1 _vma_ : _lma_                              \
+    {                                                 \
+      *(.rodata1) *(.rodata1.*)                       \
+    } > _region_
 
-#define SECTION_rodata1(_region_, _vma_, _lma_) \
-    .rodata1 _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.rodata1) } \
-    > _region_
+#define SECTION_vsr_table(_region_, _vma_, _lma_)     \
+  .vsr_table _vma_ : _lma_                            \
+    {                                                 \
+      *(.vsr_table)                                   \
+    } > _region_
 
-#define SECTION_fixup(_region_, _vma_, _lma_) \
-    .fixup _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.fixup) } \
-    > _region_
+#define SECTION_data(_region_, _vma_, _lma_)          \
+  .data _vma_ : _lma_                                 \
+    {                                                 \
+      __ram_data_start = ABSOLUTE (.); _fdata = . ;   \
+      *(.data) *(.data.*) *(.gnu.linkonce.d*)         \
+    . = ALIGN (8);                                    \
+    SORT(CONSTRUCTORS)                                \
+    } > _region_
 
-#define SECTION_rel__dyn(_region_, _vma_, _lma_) \
-    .rel.dyn _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.rel.dyn) } \
-    > _region_
+#define SECTION_data1(_region_, _vma_, _lma_)         \
+  .data1 _vma_ : _lma_                                \
+    {                                                 \
+       *(.data1) *(.data1.*)                          \
+    } > _region_
+
+#define SECTION_eh_frame(_region_, _vma_, _lma_)      \
+  .eh_frame _vma_ : _lma_                             \
+    {                                                 \
+       *(.eh_frame)                                   \
+    } > _region_
 
 #define SECTION_gcc_except_table(_region_, _vma_, _lma_) \
-    .gcc_except_table _vma_ : _lma_ \
-    { FORCE_OUTPUT; *(.gcc_except_table) } \
-    > _region_
+  .gcc_except_table _vma_ : _lma_                        \
+    {                                                    \
+      *(.gcc_except_table)                               \
+    } > _region_
+
+
+    /* gcc uses crtbegin.o to find the start of
+       the constructors, so we make sure it is
+       first.  Because this is a wildcard, it
+       doesn't matter if the user does not
+       actually link against crtbegin.o; the
+       linker won't look for a file to match a
+       wildcard.  The wildcard also means that it
+       doesn't matter which directory crtbegin.o
+       is in.  */
+
+    /* We don't want to include the .ctors section from
+       the crtend.o file until after the sorted ctors.
+       The .ctor section from the crtend file contains the
+       end of ctors marker and it must be last */
+
+#define SECTION_ctors(_region_, _vma_, _lma_)     \
+  .ctors _vma_ : _lma_                            \
+    {                                             \
+      KEEP (*crtbegin.o(.ctors))                  \
+      PROVIDE (__CTOR_LIST__ = .);                \
+      KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))   \
+      KEEP (*(SORT(.ctors.*)))                    \
+      KEEP (*(.ctors))                            \
+      PROVIDE (__CTOR_END__ = .);                 \
+    } > _region_
+
+#define SECTION_dtors(_region_, _vma_, _lma_)     \
+  .dtors _vma_ : _lma_                            \
+    {                                             \
+      KEEP (*crtbegin.o(.dtors))                  \
+      PROVIDE (__DTOR_LIST__ = .);                \
+      KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))   \
+      KEEP (*(SORT(.dtors.*)))                    \
+      KEEP (*(.dtors))                            \
+      PROVIDE (__DTOR_END__ = .);                 \
+    } > _region_
 
-/* FIXME: The SORT(CONSTRUCTORS) line below is for backwards compatibility
- * with older (pre-99r1) toolchains
+#define SECTION_DEVTAB(_region_, _vma_, _lma_)    \
+  .devtab _vma_ : _lma_                           \
+    {                                             \
+      __DEVTAB__ = .;                             \
+      KEEP (*(SORT(.devtab*)))                    \
+       __DEVTAB_END__ = .;                        \
+      __NETDEVTAB__ = .;                          \
+      KEEP (*(SORT(.netdevtab*)))                 \
+      __NETDEVTAB_END__ = .;                      \
+    } > _region_
+
+#define SECTION_got(_region_, _vma_, _lma_)     \
+  _gp = ALIGN(16) + 0x7ff0;                     \
+  .got _vma_ : _lma_                            \
+    {                                           \
+      *(.got.plt) *(.got)                       \
+    } > _region_
+
+#define SECTION_dynamic(_region_, _vma_, _lma_) \
+  .dynamic _vma_ : _lma_                        \
+    {                                           \
+      *(.dynamic)                               \
+    } > _region_
+
+  /* We want the small data sections together, so single-instruction offsets
+     can access them all, and initialized data all before uninitialized, so
+     we can shorten the on-disk segment size.  */
+
+#define SECTION_sdata(_region_, _vma_, _lma_)   \
+  .sdata _vma_ : _lma_                          \
+    {                                           \
+      *(.sdata) *(.sdata.*) *(.gnulinkonce.s*)  \
+    } > _region_
+
+#define SECTION_lit(_region_, _vma_, _lma_)     \
+  .lit8 _vma_ : _lma_                           \
+    {                                           \
+      *(.lit8)                                  \
+    } > _region_                                \
+  .lit4 : FOLLOWING(.lit8)                      \
+    {                                           \
+      *(.lit4)                                  \
+    } > _region_                                \
+  __ram_data_end = .; _edata = . ;              \
+  PROVIDE (edata = .);
+
+#define SECTION_sbss(_region_, _vma_, _lma_)      \
+  __bss_start = .; _fbss = .;                     \
+  .sbss _vma_ : _lma_                             \
+    {                                             \
+      *(.dynsbss) *(.sbss) *(.sbss.*) *(.scommon) \
+    } > _region_
+
+#define SECTION_bss(_region_, _vma_, _lma_)       \
+  .bss _vma_ : _lma_                              \
+    {                                             \
+      *(.dynbss) *(.bss) *(.bss.*) *(COMMON)      \
+    } > _region_                                  \
+  __bss_end = .;
+
+/* The /DISCARD/ section ensures that the output will not contain a
+ * .mdebug section as it confuses GDB. This is a workaround for CR 100804.
  */
-#define SECTION_data(_region_, _vma_, _lma_) \
-    .data _vma_ : _lma_ \
-    { __ram_data_start = ABSOLUTE (.); \
-    *(.data*) *(.data1) \
-    _GOT1_START_ = ABSOLUTE (.); *(.got1) _GOT1_END_ = ABSOLUTE (.); \
-    _GOT2_START_ = ABSOLUTE (.); *(.got2) _GOT2_END_ = ABSOLUTE (.); \
-    . = ALIGN (8); \
-    SORT (CONSTRUCTORS) \
-    . = ALIGN (8); \
-    __DEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.devtab*))) __DEVTAB_END__ = ABSOLUTE (.); \
-    __NETDEVTAB__ = ABSOLUTE (.); KEEP (*(SORT (.netdevtab*))) __NETDEVTAB_END__ = ABSOLUTE (.); \
-    . = ALIGN (8); \
-    _GOT_START = ABSOLUTE (.); _gp = ABSOLUTE (.); __global = _gp; _GLOBAL_OFFSET_TABLE_ = ABSOLUTE (.); _SDA_BASE_ = ABSOLUTE (.); \
-    *(.got.plt) *(.got) _GOT_END_ = ABSOLUTE (.); \
-    *(.dynamic) *(.sdata*) *(.sbss*) *(.lit8) *(.lit4) *(.eh_frame) } \
-    > _region_ \
-    __rom_data_start = LOADADDR (.data); \
-    __ram_data_end = .; PROVIDE (__ram_data_end = .); _edata = .; PROVIDE (edata = .);
-   
-#define SECTION_bss(_region_, _vma_, _lma_) \
-    .bss _vma_ : _lma_ \
-    { __bss_start = ABSOLUTE (.); \
-    *(.scommon) *(.dynbss) *(.bss) *(COMMON) \
-    __bss_end = ABSOLUTE (.); } \
-    > _region_
 
-// The /DISCARD/ section ensures that the output will not contain a
-// .mdebug section as it confuses GDB. This is a workaround for CR 100804.
 #define SECTIONS_END . = ALIGN(4); _end = .; PROVIDE (end = .); \
-    .debug           0 : { *(.debug) } \
-    .line            0 : { *(.line) } \
-    .debug_srcinfo   0 : { *(.debug_srcinfo) } \
-    .debug_sfnames   0 : { *(.debug_sfnames) } \
-    .debug_aranges   0 : { *(.debug_aranges) } \
-    .debug_pubnames  0 : { *(.debug_pubnames) } \
-    .debug_info      0 : { *(.debug_info) } \
-    .debug_abbrev    0 : { *(.debug_abbrev) } \
-    .debug_line      0 : { *(.debug_line) } \
-    .debug_frame     0 : { *(.debug_frame) } \
-    .debug_str       0 : { *(.debug_str) } \
-    .debug_loc       0 : { *(.debug_loc) } \
-    .debug_macinfo   0 : { *(.debug_macinfo) } \
-    .debug_weaknames 0 : { *(.debug_weaknames) } \
-    .debug_funcnames 0 : { *(.debug_funcnames) } \
-    .debug_typenames 0 : { *(.debug_typenames) } \
-    .debug_varnames  0 : { *(.debug_varnames) }  \
-    /DISCARD/        0 : { *(.mdebug) }
+  /* Stabs debugging sections.  */                              \
+  .stab          0 : { *(.stab) }                               \
+  .stabstr       0 : { *(.stabstr) }                            \
+  .stab.excl     0 : { *(.stab.excl) }                          \
+  .stab.exclstr  0 : { *(.stab.exclstr) }                       \
+  .stab.index    0 : { *(.stab.index) }                         \
+  .stab.indexstr 0 : { *(.stab.indexstr) }                      \
+  .comment       0 : { *(.comment) }                            \
+  /* DWARF debug sections.                                      \
+     Symbols in the DWARF debugging sections are relative to    \
+     the beginning of the section so we begin them at 0.  */    \
+  /* DWARF 1 */                                                 \
+  .debug          0 : { *(.debug) }                             \
+  .line           0 : { *(.line) }                              \
+  /* GNU DWARF 1 extensions */                                  \
+  .debug_srcinfo  0 : { *(.debug_srcinfo) }                     \
+  .debug_sfnames  0 : { *(.debug_sfnames) }                     \
+  /* DWARF 1.1 and DWARF 2 */                                   \
+  .debug_aranges  0 : { *(.debug_aranges) }                     \
+  .debug_pubnames 0 : { *(.debug_pubnames) }                    \
+  /* DWARF 2 */                                                 \
+  .debug_info     0 : { *(.debug_info) }                        \
+  .debug_abbrev   0 : { *(.debug_abbrev) }                      \
+  .debug_line     0 : { *(.debug_line) }                        \
+  .debug_frame    0 : { *(.debug_frame) }                       \
+  .debug_str      0 : { *(.debug_str) }                         \
+  .debug_loc      0 : { *(.debug_loc) }                         \
+  .debug_macinfo  0 : { *(.debug_macinfo) }                     \
+  /* SGI/MIPS DWARF 2 extensions */                             \
+  .debug_weaknames 0 : { *(.debug_weaknames) }                  \
+  .debug_funcnames 0 : { *(.debug_funcnames) }                  \
+  .debug_typenames 0 : { *(.debug_typenames) }                  \
+  .debug_varnames  0 : { *(.debug_varnames) }                   \
+  /* These must appear regardless of  .  */                     \
+  .gptab.sdata : { *(.gptab.data) *(.gptab.sdata) }             \
+  .gptab.sbss : { *(.gptab.bss) *(.gptab.sbss) }                \
+  /DISCARD/        0 : { *(.mdebug) }
 
 #include CYGHWR_MEMORY_LAYOUT_LDI
 
--- a/packages/hal/sh/arch/current/ChangeLog
+++ b/packages/hal/sh/arch/current/ChangeLog
@@ -1,7 +1,23 @@
+2000-03-20  Jesper Skov  <jskov@redhat.com>
+
+	* include/sh_regs.h: Add definitions for RTC module.
+
 2000-03-20  Jesper Skov  <jskov@redhat.com>
 
 	* src/hal_mk_defs.c: Added CYGNUM_HAL_VSR_EXCEPTION_COUNT
 
+2000-03-16  Jesper Skov  <jskov@redhat.com>
+
+	* include/mod_7708.h: 
+	* include/sh_regs.h: 
+	Adding new module definitions, conditionally included depending on
+	chosen CPU implementation. Each CPU defines its own set of
+	included modules (and module versions).
+
+	* include/hal_cache.h: Get cache specs from CPU module file.
+
+	* cdl/hal_sh.cdl: Added CPU implementation controls.
+
 2000-03-03  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
 	* include/sh_stub.h: Make C++ safe
--- a/packages/hal/sh/arch/current/cdl/hal_sh.cdl
+++ b/packages/hal/sh/arch/current/cdl/hal_sh.cdl
@@ -52,6 +52,11 @@ cdl_package CYGPKG_HAL_SH {
         necessary to select a specific target platform HAL
         package."
 
+    cdl_interface CYGINT_HAL_SH_VARIANT {
+        display  "Number of variant implementations in this configuration"
+        requires 1 == CYGINT_HAL_SH_VARIANT
+    }
+
     compile       hal_misc.c context.S sh_stub.c
 
     # The "-o file" is a workaround for CR100958 - without it the
@@ -85,6 +90,21 @@ cdl_package CYGPKG_HAL_SH {
         @rm target.tmp
     }
 
+    cdl_option CYGPKG_HAL_SH_7708 {
+        display       "SH 7708 microprocessor"
+        implements    CYGINT_HAL_SH_VARIANT
+        default_value 0
+        description "
+            The SH3 7708 microprocessor. This is an embedded part that in
+            addition to the SH3 processor core has built in peripherals
+            such as memory controllers, serial ports and
+            timers/counters."               
+        define_proc {
+            puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H <cyg/hal/mod_7708.h>"
+        }
+    }
+
+
     cdl_option CYGHWR_HAL_SH_BIGENDIAN {
         display          "Use big-endian mode"
         default_value    1
--- a/packages/hal/sh/arch/current/include/hal_cache.h
+++ b/packages/hal/sh/arch/current/include/hal_cache.h
@@ -49,30 +49,37 @@
 //
 //=============================================================================
 
+#include <pkgconf/system.h>
 #include <pkgconf/hal.h>
 #include <cyg/infra/cyg_type.h>
 #include <cyg/hal/hal_io.h>             // HAL_READ/WRITE macros
-#include <cyg/hal/sh_regs.h>            // CYGARC_REG_ definitions
 
-//=============================================================================
-// SH7708/HD6417708
+#include CYGBLD_HAL_CPU_MODULES_H       // cache module specs
 
-#ifdef CYGPKG_HAL_SH_EDK7708
+#include <cyg/hal/sh_regs.h>            // CYGARC_REG_ definitions
 
 //-----------------------------------------------------------------------------
 // Cache dimensions - one unified cache
 
-#define HAL_CACHE_UNIFIED
+#define HAL_UCACHE_SIZE                 CYGARC_SH_MOD_CAC_SIZE
+#define HAL_UCACHE_LINE_SIZE            CYGARC_SH_MOD_CAC_LINE_SIZE
+#define HAL_UCACHE_WAYS                 CYGARC_SH_MOD_CAC_WAYS
 
-#define HAL_UCACHE_SIZE                 8192    // Size of cache in bytes
-#define HAL_UCACHE_LINE_SIZE            16      // Size of a cache line
-#define HAL_UCACHE_WAYS                 4       // Associativity of the cache
+// Cache addressing information
+#define CYGARC_REG_CACHE_ADDRESS_BASE   CYGARC_SH_MOD_CAC_ADDRESS_BASE
+#define CYGARC_REG_CACHE_ADDRESS_TOP    CYGARC_SH_MOD_CAC_ADDRESS_TOP
+#define CYGARC_REG_CACHE_ADDRESS_STEP   CYGARC_SH_MOD_CAC_ADDRESS_STEP
+
+// Writing this to a cache address entry forces a flush of the line if
+// it is dirty.
+#define CYGARC_REG_CACHE_ADDRESS_FLUSH  CYGARC_SH_MOD_CAC_ADDRESS_FLUSH
 
 #define HAL_UCACHE_SETS (HAL_UCACHE_SIZE/(HAL_UCACHE_LINE_SIZE*HAL_UCACHE_WAYS))
 
 //-----------------------------------------------------------------------------
 // Global control of cache
 
+
 // Enable the cache
 #define HAL_UCACHE_ENABLE()                     \
     CYG_MACRO_START                             \
@@ -293,8 +300,6 @@
 // Invalidate cache lines in the given range without writing to memory.
 //#define HAL_ICACHE_INVALIDATE( _base_ , _size_ )
 
-#endif
-
 //-----------------------------------------------------------------------------
 #endif // ifndef CYGONCE_HAL_CACHE_H
 // End of hal_cache.h
new file mode 100644
--- /dev/null
+++ b/packages/hal/sh/arch/current/include/mod_7708.h
@@ -0,0 +1,73 @@
+#ifndef CYGONCE_HAL_MOD_77xx_H
+#define CYGONCE_HAL_MOD_77xx_H
+
+//=============================================================================
+//
+//      mod_7708.h
+//
+//      List modules available on CPU
+//
+//=============================================================================
+//####COPYRIGHTBEGIN####
+//                                                                          
+// -------------------------------------------                              
+// The contents of this file are subject to the Red Hat eCos Public License 
+// Version 1.1 (the "License"); you may not use this file except in         
+// compliance with the License.  You may obtain a copy of the License at    
+// http://www.redhat.com/                                                   
+//                                                                          
+// Software distributed under the License is distributed on an "AS IS"      
+// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the 
+// License for the specific language governing rights and limitations under 
+// the License.                                                             
+//                                                                          
+// The Original Code is eCos - Embedded Configurable Operating System,      
+// released September 30, 1998.                                             
+//                                                                          
+// The Initial Developer of the Original Code is Red Hat.                   
+// Portions created by Red Hat are                                          
+// Copyright (C) 1998, 1999, 2000 Red Hat, Inc.                             
+// All Rights Reserved.                                                     
+// -------------------------------------------                              
+//                                                                          
+//####COPYRIGHTEND####
+//=============================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s):   jskov
+// Contributors:jskov
+// Date:        2000-03-16
+// Purpose:     Define modules (and versions) available on this CPU.
+// Usage:       Included from <cyg/hal/sh_regs.h>
+//
+//              
+//####DESCRIPTIONEND####
+//
+//=============================================================================
+
+//-----------------------------------------------------------------------------
+// Modules provided by the CPU
+
+#define CYGARC_SH_MOD_SCI_V2
+
+
+//-----------------------------------------------------------------------------
+// Extra details for Cache Module (CAC)
+
+// Cache dimenions - one unified cache
+#define CYGARC_SH_MOD_CAC_SIZE        8192  // Size of cache in bytes
+#define CYGARC_SH_MOD_CAC_LINE_SIZE   16    // Size of a cache line
+#define CYGARC_SH_MOD_CAC_WAYS        4     // Associativity of the cache
+
+// Cache addressing information
+// way:   bits 12 - 11
+// entry: bits 10 -  4
+#define CYGARC_SH_MOD_CAC_ADDRESS_BASE   0xf0000000
+#define CYGARC_SH_MOD_CAC_ADDRESS_TOP    0xf0002000
+#define CYGARC_SH_MOD_CAC_ADDRESS_STEP   0x00000010
+// U : bit 1
+// V : bit 0
+// Writing zero to both forces a flush of the line if it is dirty.
+#define CYGARC_SH_MOD_CAC_ADDRESS_FLUSH  0x00000000
+
+#endif // CYGONCE_HAL_MOD_77xx_H
--- a/packages/hal/sh/arch/current/include/sh_regs.h
+++ b/packages/hal/sh/arch/current/include/sh_regs.h
@@ -1,6 +1,5 @@
 #ifndef CYGONCE_HAL_SH_REGS_H
 #define CYGONCE_HAL_SH_REGS_H
-
 //=============================================================================
 //
 //      sh_regs.h
@@ -39,13 +38,28 @@
 // Date:        1999-04-24
 // Purpose:     Define CPU memory mapped registers etc.
 // Usage:       #include <cyg/hal/sh_regs.h>
-
+// Notes:
+//   This file describes registers for on-core modules found in all
+//   the SH3 CPUs supported by the HAL. For each CPU is defined a
+//   module specification file (mod_<CPU model number>.h) which lists
+//   modules (and their version if applicable) included in that
+//   particular CPU model.  Note that the versioning is ad hoc;
+//   it doesn't reflect Hitachi internal versioning in any way.
 //              
 //####DESCRIPTIONEND####
 //
 //=============================================================================
 
-//#include <pkgconf/hal.h>
+// Find out which modules are supported by the chosen CPU
+// Note: At them moment only some modules are conditionalized (the ones
+//       not in the 7708). For consistency, all modules should be treated
+//       the same.
+#include <pkgconf/system.h>
+#include CYGBLD_HAL_CPU_MODULES_H
+
+//==========================================================================
+//                             CPU Definitions
+//==========================================================================
 
 //--------------------------------------------------------------------------
 // Status register
@@ -63,6 +77,24 @@
 #define CYGARC_REG_SR_T                 0x00000001
 
 
+//==========================================================================
+//                          Memory Mapped Registers
+//==========================================================================
+
+//++++++ Module MMU ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//--------------------------------------------------------------------------
+// MMU control registers
+#define CYGARC_REG_MMUCR                0xffffffe0
+
+#define CYGARC_REG_MMUCR_SV             0x00000100
+#define CYGARC_REG_MMUCR_RC_MASK        0x000000c0
+#define CYGARC_REG_MMUCR_TF             0x00000004
+#define CYGARC_REG_MMUCR_IX             0x00000002
+#define CYGARC_REG_MMUCR_AT             0x00000001
+
+//++++++ Module CAC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
 //--------------------------------------------------------------------------
 // Cache registers
 #define CYGARC_REG_CCR                  0xffffffec
@@ -73,28 +105,18 @@
 #define CYGARC_REG_CCR_WT               0x00000002
 #define CYGARC_REG_CCR_CE               0x00000001
 
-#ifdef CYGPKG_HAL_SH_EDK7708
-// way:   bits 12 - 10
-// entry: bits 10 -  4
-#define CYGARC_REG_CACHE_ADDRESS_BASE   0xf0000000
-#define CYGARC_REG_CACHE_ADDRESS_TOP    0xf0002000
-#define CYGARC_REG_CACHE_ADDRESS_STEP   0x00000010
-// U : bit 1
-// V : bit 0
-// Writing zero to both forces a flush of the line if it was dirty.
-#define CYGARC_REG_CACHE_ADDRESS_FLUSH  0x00000000
+//--------------------------------------------------------------------------
+// Cache registers
+#define CYGARC_REG_CCR                  0xffffffec
 
-#endif
-
-//--------------------------------------------------------------------------
-// MMU control registers
-#define CYGARC_REG_MMUCR                0xffffffe0
+#define CYGARC_REG_CCR_RA               0x00000020
+#define CYGARC_REG_CCR_CF               0x00000008
+#define CYGARC_REG_CCR_CB               0x00000004
+#define CYGARC_REG_CCR_WT               0x00000002
+#define CYGARC_REG_CCR_CE               0x00000001
 
-#define CYGARC_REG_MMUCR_SV             0x00000100
-#define CYGARC_REG_MMUCR_RC_MASK        0x000000c0
-#define CYGARC_REG_MMUCR_TF             0x00000004
-#define CYGARC_REG_MMUCR_IX             0x00000002
-#define CYGARC_REG_MMUCR_AT             0x00000001
+
+//++++++ Module BSC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 //--------------------------------------------------------------------------
 // Bus State Control
@@ -109,6 +131,11 @@
 #define CYGARC_REG_RTCNT                0xffffff70
 #define CYGARC_REG_RTCOR                0xffffff72
 #define CYGARC_REG_RFCR                 0xffffff74
+
+#ifdef CYGARC_SH_MOD_BCN_V2
+# define CYGARC_REG_BCR3                0xffffff7e
+#endif
+
 #define CYGARC_REG_SDMR_AREA2_BASE      0xffffd000
 #define CYGARC_REG_SDMR_AREA3_BASE      0xffffe000
 
@@ -117,6 +144,9 @@
 #define CYGARC_REG_BCR1_DRAMTP0         0x0004
 
 
+
+//++++++ Module UBC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
 //--------------------------------------------------------------------------
 // User Break Control
 #define CYGARC_REG_BRCR                 0xffffff98 // 16 bit
@@ -142,6 +172,7 @@
 #define CYGARC_REG_BRCR_SEQ             0x0008 // sequence condition select
 
 
+//++++++ Module CPG ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 //--------------------------------------------------------------------------
 // Oscillator control registers
@@ -167,6 +198,8 @@
 #define CYGARC_REG_WTCSR_CKSx_SETTING   0x07       // max delay
 #define CYGARC_REG_WTCSR_PERIOD         69905067   // ~69.9 ms
 
+//++++++ Module TMU ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
 //--------------------------------------------------------------------------
 // TMU registers
 #define CYGARC_REG_TOCR                 0xfffffe90 //  8 bit
@@ -201,6 +234,9 @@
 #define CYGARC_REG_TCR_ICPE1            0x0080
 #define CYGARC_REG_TCR_ICPF             0x0200
 
+
+//++++++ Module INTC +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
 //--------------------------------------------------------------------------
 // Interrupt registers
 #define CYGARC_REG_EXCEVT               0xffffffd4
@@ -210,6 +246,7 @@
 #define CYGARC_REG_IPRA                 0xfffffee2
 #define CYGARC_REG_IPRB                 0xfffffee4
 
+
 #define CYGARC_REG_IPRA_TMU0_MASK       0xf000
 #define CYGARC_REG_IPRA_TMU0_PRI1       0x1000
 #define CYGARC_REG_IPRA_TMU1_MASK       0x0f00
@@ -226,8 +263,46 @@
 #define CYGARC_REG_IPRB_SCI_MASK        0x00f0
 #define CYGARC_REG_IPRB_SCI_PRI1        0x0010
 
+//++++++ Module RTC ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//--------------------------------------------------------------------------
+// RealTime Clock
+
+#define CYGARC_REG_RC64CNT              0xfffffec0
+#define CYGARC_REG_RSECCNT              0xfffffec2
+#define CYGARC_REG_RMINCNT              0xfffffec4
+#define CYGARC_REG_RHRCNT               0xfffffec6
+#define CYGARC_REG_RWKCNT               0xfffffec8
+#define CYGARC_REG_RDAYCNT              0xfffffeca
+#define CYGARC_REG_RMONCNT              0xfffffecc
+#define CYGARC_REG_RYRCNT               0xfffffece
+#define CYGARC_REG_RSECAR               0xfffffed0
+#define CYGARC_REG_RMINAR               0xfffffed2
+#define CYGARC_REG_RHRAR                0xfffffed4
+#define CYGARC_REG_RWKAR                0xfffffed6
+#define CYGARC_REG_RDAYAR               0xfffffed8
+#define CYGARC_REG_RMONAR               0xfffffeda
+#define CYGARC_REG_RCR1                 0xfffffedc
+#define CYGARC_REG_RCR2                 0xfffffede
 
 
+#define CYGARC_REG_RCR1_CF              0x80 // carry flag
+#define CYGARC_REG_RCR1_CIE             0x10 // carry interrupt enable
+#define CYGARC_REG_RCR1_AIE             0x08 // alarm interrupt enable
+#define CYGARC_REG_RCR1_AF              0x01 // alarm flag
+
+#define CYGARC_REG_RCR2_PEF             0x80 // periodic interrupt flag
+#define CYGARC_REG_RCR2_PES2            0x40 // periodic interrupt setting
+#define CYGARC_REG_RCR2_PES1            0x20
+#define CYGARC_REG_RCR2_PES0            0x10
+#define CYGARC_REG_RCR2_RTCEN           0x08 // RTC enable
+#define CYGARC_REG_RCR2_ADJ             0x04 // second adjustment
+#define CYGARC_REG_RCR2_RESET           0x02 // reset
+#define CYGARC_REG_RCR2_START           0x01 // start
+
+
+
+//++++++ Module SCI ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
 //--------------------------------------------------------------------------
 // Serial registers. All 8 bit registers.
@@ -237,7 +312,10 @@
 #define CYGARC_REG_SCTDR                0xfffffe86 // transmit data register
 #define CYGARC_REG_SCSSR                0xfffffe88 // serial status register
 #define CYGARC_REG_SCRDR                0xfffffe8a // receive data register
-#define CYGARC_REG_SCSPTR               0xfffffe7c // serial port register
+
+#ifdef CYGARC_SH_MOD_SCI_V2
+# define CYGARC_REG_SCSPTR               0xfffffe7c // serial port register
+#endif
 
 // Serial Mode Register
 #define CYGARC_REG_SCSMR_CA             0x80 // communication mode
@@ -275,7 +353,7 @@
 // to prevent other bits than the one of interest to be cleared.
 #define CYGARC_REG_SCSSR_CLEARMASK      0xf8
 
-
+// FIXME: Let config control this
 // Baud rate values calculated for peripheral clock = 15MHz (Pf = 15). 
 // n is CKS setting (0-3)
 // N = (Pf/(64^(n-1)*B))*10^6-1
@@ -323,4 +401,6 @@
 #define CYGARC_REG_SCBRR_234000
 #define CYGARC_REG_CKSx_234000
 
+
+
 #endif // ifndef CYGONCE_HAL_SH_REGS_H
--- a/packages/hal/sh/edk/current/ChangeLog
+++ b/packages/hal/sh/edk/current/ChangeLog
@@ -1,12 +1,3 @@
-2000-03-20  Jesper Skov  <jskov@redhat.com>
-
-	* cdl/hal_sh_edk7708.cdl: Don't allow dependency on ROM_MONITOR
-	when including stubs.
-
-2000-03-18  Jonathan Larmour  <jlarmour@redhat.co.uk>
-
-	* cdl/hal_sh_edk7708.cdl: Use -g rather than -ggdb when using net gcc
-
 2000-03-09  Jesper Skov  <jskov@redhat.com>
 
 	* src/hal_diag.c: Fix compiler warning.
--- a/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl
+++ b/packages/hal/sh/edk/current/cdl/hal_sh_edk7708.cdl
@@ -127,7 +127,7 @@ cdl_package CYGPKG_HAL_SH_EDK7708 {
             display "Global compiler flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" : "-ml -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
+            default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -ggdb -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" : "-ml -m3 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -ggdb -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
             description   "
                 This option controls the global compiler flags which
                 are used to compile all packages by
@@ -139,7 +139,7 @@ cdl_package CYGPKG_HAL_SH_EDK7708 {
             display "Global linker flags"
             flavor  data
             no_define
-            default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -g -nostdlib -Wl,--gc-sections -Wl,-static" : "-ml -m3 -g -nostdlib -Wl,--gc-sections -Wl,-static" }
+            default_value { CYGHWR_HAL_SH_BIGENDIAN ? "-mb -m3 -ggdb -nostdlib -Wl,--gc-sections -Wl,-static" : "-ml -m3 -ggdb -nostdlib -Wl,--gc-sections -Wl,-static" }
             description   "
                 This option controls the global linker flags. Individual
                 packages may define options which override these global flags."
@@ -204,7 +204,6 @@ cdl_package CYGPKG_HAL_SH_EDK7708 {
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
         requires      { CYG_HAL_STARTUP == "RAM" }
         parent        CYGPKG_HAL_ROM_MONITOR
-        requires      !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
         description   "
             Support can be enabled for boot ROMs or ROM monitors which contain
             GDB stubs. This support changes various eCos semantics such as
--- a/packages/infra/current/ChangeLog
+++ b/packages/infra/current/ChangeLog
@@ -1,9 +1,38 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* include/cyg_trac.h: Also update internal documentation for below
+	const char * changes (2000-03-27)
+
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/infra.cdl:
 
 	Adjust documentation URLs.
 
+2000-03-27  Gary Thomas  <gthomas@redhat.com>
+
+	* src/tcdiag.cxx: HAL architecture ports may override default
+	behavior for 'cyg_test_exit()'.
+
+	* src/diag.cxx (diag_vprintf): Add support for %llX modifier, which
+	allows for printing of (long long) operands.
+
+2000-03-27  Jonathan Larmour  <jlarmour@redhat.co.uk>
+
+	* include/cyg_trac.h: Use const qualifier on function and file name
+	strings to be compatible with the C++ standard
+	* src/buffer.cxx: likewise
+	* src/fancy.cxx: likewise
+	* src/null.cxx: likewise
+
+2000-03-27  Jesper Skov  <jskov@redhat.com>
+
+	* include/cyg_type.h: Make cyg_halbool the same for C and C++
+	code.
+
+	* include/cyg_ass.h (CYGDBG_DEFINE_CHECK_THIS): Use cyg_bool
+	instead of bool.
+
 2000-03-07  Jesper Skov  <jskov@redhat.com>
 
 	* src/buffer.cxx: Fix some compiler warnings.
--- a/packages/infra/current/include/cyg_ass.h
+++ b/packages/infra/current/include/cyg_ass.h
@@ -78,6 +78,7 @@ cyg_assert_fail( const char* /* psz_func
                  cyg_uint32 /* linenum */, const char* /* psz_msg */ )
     CYGBLD_ATTRIB_NORET CYGBLD_ATTRIB_WEAK;
 
+
 // -------------------------------------------------------------------------
 
 #ifdef CYGDBG_USE_ASSERTS
@@ -90,8 +91,10 @@ cyg_assert_fail( const char* /* psz_func
 //      CYG_ASSERTC     - compact version of CYG_ASSERT
 
 # ifdef CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE
-#  define CYG_ASSERT_DOCALL( _msg_ ) \
-        cyg_assert_fail( __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ );
+#  define CYG_ASSERT_DOCALL( _msg_ )                                      \
+        CYG_MACRO_START                                                   \
+        cyg_assert_fail( __PRETTY_FUNCTION__, __FILE__, __LINE__, _msg_ );\
+        CYG_MACRO_END
 # else
 #   define CYG_ASSERT_DOCALL( _msg_ )    \
         CYG_MACRO_START                 \
@@ -260,7 +263,7 @@ enum cyg_assert_class_zeal {
     CYG_ASSERT_THIS( "\"this\" pointer is valid" )
     
 #define CYGDBG_DEFINE_CHECK_THIS \
-    bool check_this( cyg_assert_class_zeal zeal ) const;
+    cyg_bool check_this( cyg_assert_class_zeal zeal ) const;
 
 #endif // __cplusplus
 
--- a/packages/infra/current/include/cyg_trac.h
+++ b/packages/infra/current/include/cyg_trac.h
@@ -333,17 +333,17 @@ Internal Documentation
 The required functions which are used by the tracing macros are
 
     externC void
-    cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum );
+    cyg_tracenomsg( const char *psz_func, const char *psz_file, 
+                    cyg_uint32 linenum );
     
     externC void
-    cyg_tracemsg( cyg_uint32 what, 
-                  char *psz_func, char *psz_file, cyg_uint32 linenum, 
-                  char *psz_msg );
+    cyg_tracemsg( cyg_uint32 what, const char *psz_func, const char *psz_file,
+                  cyg_uint32 linenum, char *psz_msg );
     
     externC void
     cyg_tracemsg2( cyg_uint32 what, 
-                   char *psz_func, char *psz_file, cyg_uint32 linenum, 
-                   char *psz_msg,
+                   const char *psz_func, const char *psz_file,
+                   cyg_uint32 linenum, char *psz_msg,
                    CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 );
     // extended in the obvious way for 4,6,8 arguments
 
@@ -404,7 +404,7 @@ also fits in a byte as number or a bitse
 // these are executed to deal with tracing - breakpoint?
 
 externC void
-cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum );
+cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum );
 
 externC void
 cyg_trace_dump(void);
@@ -437,30 +437,30 @@ enum cyg_trace_what{
 
 externC void
 cyg_tracemsg( cyg_uint32 what, 
-              char *psz_func, char *psz_file, cyg_uint32 linenum, 
+              const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
               char *psz_msg );
 
 externC void
 cyg_tracemsg2( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum, 
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 );
 externC void
 cyg_tracemsg4( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum, 
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3 );
 externC void
 cyg_tracemsg6( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum, 
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
                CYG_ADDRWORD arg4,  CYG_ADDRWORD arg5 );
 externC void
 cyg_tracemsg8( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum, 
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
@@ -602,8 +602,8 @@ class Cyg_TraceFunction_Report_
 {
 public:
     int   cond;
-    char *func;
-    char *file;
+    const char *func;
+    const char *file;
     cyg_uint32 lnum;
 #ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE
     char *exitmsg;
@@ -612,7 +612,7 @@ public:
 #endif
 
     Cyg_TraceFunction_Report_(
-        int condition, char *psz_func, char *psz_file,
+        int condition, const char *psz_func, const char *psz_file,
         cyg_uint32 linenum)
     {
         cond = condition;
@@ -632,7 +632,7 @@ public:
     };
 
     Cyg_TraceFunction_Report_(
-        int condition, char *psz_func, char *psz_file, 
+        int condition, const char *psz_func, const char *psz_file, 
         cyg_uint32 linenum, char *psz_exitmsg )
     {
         cond = condition;
--- a/packages/infra/current/include/cyg_type.h
+++ b/packages/infra/current/include/cyg_type.h
@@ -114,11 +114,7 @@
 #endif
 
 #ifndef cyg_halbool
-# ifdef __cplusplus
-#  define cyg_halbool bool
-# else
-#  define cyg_halbool int
-# endif
+# define cyg_halbool int
 #endif
 
 #ifndef cyg_halatomic
--- a/packages/infra/current/src/buffer.cxx
+++ b/packages/infra/current/src/buffer.cxx
@@ -101,8 +101,8 @@ struct Cyg_TraceRecord
 {
     cyg_uint32          what;
     cyg_uint32          tid;
-    char                *function;
-    char                *file;
+    const char          *function;
+    const char          *file;
     char                *message;
     cyg_uint32          line;
     cyg_uint32          narg;
@@ -387,7 +387,7 @@ static void increment_buffer_pos()
 // -------------------------------------------------------------------------
 
 externC void
-cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum )
+cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum )
 {
     cyg_uint32 old_ints;
 
@@ -415,7 +415,7 @@ cyg_tracenomsg( char *psz_func, char *ps
 
 externC void
 cyg_tracemsg( cyg_uint32 what, 
-              char *psz_func, char *psz_file, cyg_uint32 linenum,
+              const char *psz_func, const char *psz_file, cyg_uint32 linenum,
               char *psz_msg )
 {
     cyg_uint32 old_ints;
@@ -442,7 +442,7 @@ cyg_tracemsg( cyg_uint32 what,
 
 externC void
 cyg_tracemsg2( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 )
 {
@@ -472,7 +472,7 @@ cyg_tracemsg2( cyg_uint32 what,
 
 externC void
 cyg_tracemsg4( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3 )
@@ -505,7 +505,7 @@ cyg_tracemsg4( cyg_uint32 what,
 
 externC void
 cyg_tracemsg6( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
@@ -541,7 +541,7 @@ cyg_tracemsg6( cyg_uint32 what,
 
 externC void
 cyg_tracemsg8( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
--- a/packages/infra/current/src/diag.cxx
+++ b/packages/infra/current/src/diag.cxx
@@ -166,15 +166,15 @@ externC void diag_write_hex( cyg_uint32 
 /* number, its minimum width and whether it is zero or space filled on  */
 /* the left.                                                            */
 
-externC void diag_write_num(
-    cyg_uint32  n,              /* number to write              */
+externC void diag_write_long_num(
+    cyg_uint64  n,              /* number to write              */
     cyg_ucount8 base,           /* radix to write to            */
     cyg_ucount8 sign,           /* sign, '-' if -ve, '+' if +ve */
     cyg_bool    pfzero,         /* prefix with zero ?           */
     cyg_ucount8 width           /* min width of number          */
     )
 {
-    char buf[16];
+    char buf[32];
     cyg_count8 bpos;
     char bufinit = pfzero?'0':' ';
     char *digits = "0123456789ABCDEF";
@@ -210,6 +210,17 @@ externC void diag_write_num(
         diag_write_char(buf[bpos--]);
 }
 
+externC void diag_write_num(
+    cyg_uint32  n,              /* number to write              */
+    cyg_ucount8 base,           /* radix to write to            */
+    cyg_ucount8 sign,           /* sign, '-' if -ve, '+' if +ve */
+    cyg_bool    pfzero,         /* prefix with zero ?           */
+    cyg_ucount8 width           /* min width of number          */
+    )
+{
+    diag_write_long_num((long long)n, base, sign, pfzero, width);
+}
+
 /*----------------------------------------------------------------------*/
 /* perform some simple sanity checks on a string to ensure that it      */
 /* consists of printable characters and is of reasonable length.        */
@@ -276,6 +287,7 @@ externC void diag_vprintf( const char *f
             cyg_bool pfzero = false;
             cyg_count8 width = 0;
             char sign = '+';
+            cyg_bool long_op = false;
                         
             c = *++fmt;
                         
@@ -287,22 +299,47 @@ externC void diag_vprintf( const char *f
                 c = *++fmt;
             }
 
+            if (c == 'l') {
+                // %lx and %ld are equivalent to %x/%d
+                c = *++fmt;
+                // %llx or %lld used to indicate (long long) operand
+                if (c == 'l') {
+                    long_op = true;
+                    c = *++fmt;
+                }
+            }
+
             switch( c )
             {
             case 'd':
             case 'D':
             {
-                long val = (long)(*args++);
-                if( val < 0 ) val = -val, sign = '-';
-                diag_write_num(val, 10, sign, pfzero, width);
+                if (long_op) {
+                    long long *lp = (long long *)args;
+                    long long val = *lp++;
+                    args = (CYG_ADDRWORD *)lp;
+                    if( val < 0 ) val = -val, sign = '-';
+                    diag_write_long_num(val, 10, sign, pfzero, width);
+                } else {
+                    long val = (long)(*args++);
+                    if( val < 0 ) val = -val, sign = '-';
+                    diag_write_num(val, 10, sign, pfzero, width);
+                }
                 break;
             }
 
             case 'x':
             case 'X':
             {
-                unsigned long val = (long)(*args++);
-                diag_write_num(val, 16, sign, pfzero, width);
+                if (long_op) {
+                    long long *lp = (long long *)args;
+                    long long val = *lp++;
+                    args = (CYG_ADDRWORD *)lp;
+                    diag_write_long_num(val, 16, sign, pfzero, width);
+                } else {
+                    unsigned long val = (long)(*args++);
+                    diag_write_num(val, 16, sign, pfzero, width);
+                }
                 break;
             }
 
--- a/packages/infra/current/src/fancy.cxx
+++ b/packages/infra/current/src/fancy.cxx
@@ -242,7 +242,7 @@ void write_thread_id()
 #ifdef CYGDBG_USE_TRACING
 
 externC void
-cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum )
+cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum )
 {
     cyg_uint32 old_ints;
 
@@ -265,7 +265,7 @@ cyg_tracenomsg( char *psz_func, char *ps
 
 externC void
 cyg_tracemsg( cyg_uint32 what, 
-              char *psz_func, char *psz_file, cyg_uint32 linenum,
+              const char *psz_func, const char *psz_file, cyg_uint32 linenum,
               char *psz_msg )
 {
     cyg_uint32 old_ints;
@@ -294,7 +294,7 @@ cyg_tracemsg( cyg_uint32 what,
 
 externC void
 cyg_tracemsg2( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 )
 {
@@ -330,7 +330,7 @@ cyg_tracemsg2( cyg_uint32 what,
 
 externC void
 cyg_tracemsg4( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3 )
@@ -372,7 +372,7 @@ cyg_tracemsg4( cyg_uint32 what,
 
 externC void
 cyg_tracemsg6( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
@@ -419,7 +419,7 @@ cyg_tracemsg6( cyg_uint32 what,
 
 externC void
 cyg_tracemsg8( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
--- a/packages/infra/current/src/null.cxx
+++ b/packages/infra/current/src/null.cxx
@@ -75,33 +75,33 @@ cyg_assert_fail( const char *psz_func, c
 #ifdef CYGDBG_USE_TRACING
 
 externC void
-cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum )
+cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum )
 {}
 
 // provide every other one of these as a space/caller bloat compromise.
 
 externC void
 cyg_tracemsg( cyg_uint32 what, 
-              char *psz_func, char *psz_file, cyg_uint32 linenum,
+              const char *psz_func, const char *psz_file, cyg_uint32 linenum,
               char *psz_msg )
 {}
 
 externC void
 cyg_tracemsg2( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 )
 {}
 externC void
 cyg_tracemsg4( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3 )
 {}
 externC void
 cyg_tracemsg6( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
@@ -109,7 +109,7 @@ cyg_tracemsg6( cyg_uint32 what,
 {}
 externC void
 cyg_tracemsg8( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
--- a/packages/infra/current/src/simple.cxx
+++ b/packages/infra/current/src/simple.cxx
@@ -153,7 +153,7 @@ void write_thread_id()
 #ifdef CYGDBG_USE_TRACING
 
 externC void
-cyg_tracenomsg( char *psz_func, char *psz_file, cyg_uint32 linenum )
+cyg_tracenomsg( const char *psz_func, const char *psz_file, cyg_uint32 linenum )
 {
     cyg_uint32 old_ints;
 
@@ -176,7 +176,7 @@ cyg_tracenomsg( char *psz_func, char *ps
 
 externC void
 cyg_tracemsg( cyg_uint32 what, 
-              char *psz_func, char *psz_file, cyg_uint32 linenum,
+              const char *psz_func, const char *psz_file, cyg_uint32 linenum,
               char *psz_msg )
 {
     cyg_uint32 old_ints;
@@ -203,7 +203,7 @@ cyg_tracemsg( cyg_uint32 what,
 
 externC void
 cyg_tracemsg2( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1 )
 {
@@ -237,7 +237,7 @@ cyg_tracemsg2( cyg_uint32 what,
 
 externC void
 cyg_tracemsg4( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum, 
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum, 
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3 )
@@ -277,7 +277,7 @@ cyg_tracemsg4( cyg_uint32 what,
 
 externC void
 cyg_tracemsg6( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
@@ -322,7 +322,7 @@ cyg_tracemsg6( cyg_uint32 what,
 
 externC void
 cyg_tracemsg8( cyg_uint32 what, 
-               char *psz_func, char *psz_file, cyg_uint32 linenum,
+               const char *psz_func, const char *psz_file, cyg_uint32 linenum,
                char *psz_msg,
                CYG_ADDRWORD arg0,  CYG_ADDRWORD arg1,
                CYG_ADDRWORD arg2,  CYG_ADDRWORD arg3,
--- a/packages/infra/current/src/tcdiag.cxx
+++ b/packages/infra/current/src/tcdiag.cxx
@@ -39,11 +39,13 @@
 // 
 //####DESCRIPTIONEND####
 
+#include <pkgconf/infra.h>
 #include <pkgconf/system.h>
 #include CYGBLD_HAL_TARGET_H           // get initialization for
 #include CYGBLD_HAL_PLATFORM_H         //   cyg_test_is_simulator
 
 #include <cyg/infra/cyg_type.h>        // base types
+#include <cyg/hal/hal_arch.h>          // any architecture specific stuff
 #include <cyg/infra/diag.h>            // HAL polled output
 #include <cyg/infra/testcase.h>        // what we implement
 
@@ -55,6 +57,7 @@ int cyg_test_is_simulator = 1;         /
 int cyg_test_is_simulator = 0;         // infrastructure changes as necessary
 #endif
 
+
 externC void
 cyg_test_init(void)
 {
--- a/packages/io/common/current/ChangeLog
+++ b/packages/io/common/current/ChangeLog
@@ -1,4 +1,4 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/io.cdl:
 
--- a/packages/io/pci/current/ChangeLog
+++ b/packages/io/pci/current/ChangeLog
@@ -1,4 +1,4 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/io_pci.cdl:
 
--- a/packages/io/serial/current/ChangeLog
+++ b/packages/io/serial/current/ChangeLog
@@ -1,4 +1,4 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/io_serial.cdl,
 	  cdl/ser_arm_aeb.cdl,
--- a/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl
+++ b/packages/io/serial/current/cdl/ser_arm_edb7xxx.cdl
@@ -48,6 +48,7 @@ cdl_component CYGPKG_IO_SERIAL_ARM_EDB7X
         This option includes the serial device driver for the Cirrus Logic EDB7XXX
         port 1."
 
+
     cdl_option CYGDAT_IO_SERIAL_ARM_EDB7XXX_SERIAL1_NAME {
         display       "Device name for the Cirrus Logic EDB7XXX serial port 1 driver"
         flavor        data
--- a/packages/kernel/current/ChangeLog
+++ b/packages/kernel/current/ChangeLog
@@ -1,10 +1,4 @@
-2000-03-21  John Dallaway  <jld@cygnus.co.uk>
-
-	* cdl/kernel.cdl:
-
-	Fix thread operations URL.
-
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/counters.cdl,
 	  cdl/interrupts.cdl,
@@ -15,6 +9,27 @@ 2000-03-20  John Dallaway  <jld@cygnus.c
 
 	Adjust documentation URLs.
 
+2000-03-27  Gary Thomas  <gthomas@redhat.com>
+
+	* tests/except1.cxx: 
+	* tests/kexcept1.c: Avoid trying to generate data access errors
+	on platforms that don't support them.
+
+	* tests/kcache1.c: Ignore test if no [data] caches defined.
+
+	* tests/stress_threads.c: Infer minimal configuration for platforms
+	with small amount of memory (as opposed to platform special cases).
+
+2000-03-27  Jesper Skov  <jskov@redhat.com>
+
+	* src/sync/mutex.cxx: 
+	* src/sched/sched.cxx: 
+	* src/common/thread.cxx: 
+	* src/common/clock.cxx:
+	Use cyg_bool instead of bool for check_this().
+
+	* tests/dhrystone.c: Requires CYGPKG_LIBC_MALLOC
+
 2000-03-07  Jesper Skov  <jskov@redhat.com>
 
 	* tests/mutex3.cxx: Minor tweak from Hugo to allow reduced runtime
--- a/packages/kernel/current/src/common/clock.cxx
+++ b/packages/kernel/current/src/common/clock.cxx
@@ -109,7 +109,7 @@ Cyg_Counter::~Cyg_Counter()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool Cyg_Counter::check_this( cyg_assert_class_zeal zeal) const
+cyg_bool Cyg_Counter::check_this( cyg_assert_class_zeal zeal) const
 {
     // check that we have a non-NULL pointer first
     if( this == NULL ) return false;
@@ -465,7 +465,7 @@ Cyg_Clock::~Cyg_Clock()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool Cyg_Clock::check_this( cyg_assert_class_zeal zeal) const
+cyg_bool Cyg_Clock::check_this( cyg_assert_class_zeal zeal) const
 {
     // check that we have a non-NULL pointer first
     if( this == NULL ) return false;
@@ -693,7 +693,7 @@ Cyg_Alarm::~Cyg_Alarm()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool Cyg_Alarm::check_this( cyg_assert_class_zeal zeal) const
+cyg_bool Cyg_Alarm::check_this( cyg_assert_class_zeal zeal) const
 {
     // check that we have a non-NULL pointer first
     if( this == NULL ) return false;
--- a/packages/kernel/current/src/common/thread.cxx
+++ b/packages/kernel/current/src/common/thread.cxx
@@ -282,7 +282,7 @@ Cyg_Thread::~Cyg_Thread()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool
+cyg_bool
 Cyg_Thread::check_this( cyg_assert_class_zeal zeal) const
 {
 //    CYG_REPORT_FUNCTION();
--- a/packages/kernel/current/src/sched/sched.cxx
+++ b/packages/kernel/current/src/sched/sched.cxx
@@ -241,7 +241,7 @@ void Cyg_Scheduler::start()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool Cyg_Scheduler::check_this( cyg_assert_class_zeal zeal) const
+cyg_bool Cyg_Scheduler::check_this( cyg_assert_class_zeal zeal) const
 {
     CYG_REPORT_FUNCTION();
         
--- a/packages/kernel/current/src/sync/mutex.cxx
+++ b/packages/kernel/current/src/sync/mutex.cxx
@@ -85,7 +85,7 @@ Cyg_Mutex::~Cyg_Mutex()
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool
+cyg_bool
 Cyg_Mutex::check_this( cyg_assert_class_zeal zeal) const
 {
 //    CYG_REPORT_FUNCTION();
@@ -381,7 +381,7 @@ Cyg_Condition_Variable::~Cyg_Condition_V
 
 #ifdef CYGDBG_USE_ASSERTS
 
-bool
+cyg_bool
 Cyg_Condition_Variable::check_this( cyg_assert_class_zeal zeal) const
 {
     bool result = true;
--- a/packages/kernel/current/tests/dhrystone.c
+++ b/packages/kernel/current/tests/dhrystone.c
@@ -39,7 +39,8 @@
 #include <pkgconf/libc.h>
 
 #if defined(CYGFUN_KERNEL_API_C) \
-    && defined(CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT)
+    && defined(CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT) \
+    && defined(CYGPKG_LIBC_MALLOC)
 
 #if defined(__OPTIMIZE__) \
     && !defined(CYGPKG_INFRA_DEBUG) \
@@ -1167,9 +1168,9 @@ Enumeration Enum_Par_Val;
 #endif // __OPTIMIZE__ && !CYGPKG_INFRA_DEBUG && !CYGPKG_KERNEL_INSTRUMENT
 
 #else
-#define NA_MSG "Requires CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT"
+#define NA_MSG "Requires CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT && CYGPKG_LIBC_MALLOC"
 #endif // CYGFUN_KERNEL_API_C && CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT
-
+       // CYGPKG_LIBC_MALLOC
 #else
 #define NA_MSG "Requires CYGPKG_KERNEL && CYGPKG_LIBC"
 #endif // CYGPKG_KERNEL && CYGPKG_LIBC
--- a/packages/kernel/current/tests/except1.cxx
+++ b/packages/kernel/current/tests/except1.cxx
@@ -55,8 +55,9 @@
 #define NTHREADS 1
 #include "testaux.hxx"
 
+static int d0;
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
 static cyg_exception_handler handler0;
-static int d0;
 
 static void handler0(CYG_ADDRWORD data, cyg_code number, CYG_ADDRWORD info)
 {
@@ -70,6 +71,7 @@ static void handler0(CYG_ADDRWORD data, 
 
     CYG_TEST_PASS_FINISH("Except 1 OK");
 }
+#endif
 
 static void handler1(CYG_ADDRWORD data, cyg_code number, CYG_ADDRWORD info)
 {
@@ -86,7 +88,7 @@ static void handler1(CYG_ADDRWORD data, 
     CYG_TEST_CHECK((CYG_ADDRWORD)99 == info, "handler given wrong info");
 }
 
-
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
 // The following function attempts to cause an exception in various
 // hacky ways.  It is machine dependent what exception is generated.
 // It does reads rather than writes hoping not to corrupt anything
@@ -101,10 +103,13 @@ void cause_exception(void)
         p+=0x100000;
     } while(p != 0);
 }
+#endif
 
 static void entry0( CYG_ADDRWORD data )
 {
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
     cyg_code n;
+#endif
     cyg_exception_handler *old_handler, *old_handler1;
     CYG_ADDRWORD old_data, old_data1;
     Cyg_Thread *p=Cyg_Thread::self();
@@ -137,6 +142,8 @@ static void entry0( CYG_ADDRWORD data )
     p->deregister_exception(CYGNUM_HAL_EXCEPTION_MAX);
     p->deregister_exception(CYGNUM_HAL_EXCEPTION_MAX);
 
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
+
 #if 0
 #elif defined(CYGPKG_HAL_POWERPC_SIM)
     // The exception generated by the SIM is not recognized by GDB.
@@ -161,6 +168,10 @@ static void entry0( CYG_ADDRWORD data )
     cause_exception();
 
     CYG_TEST_FAIL_FINISH("Couldn't cause exception");
+#else // CYGNUM_HAL_EXCEPTION_DATA_ACCESS
+    CYG_TEST_NA("Platform does not support data exceptions");
+#endif
+
 }
 
 #ifdef CYG_HAL_MIPS_TX39_JMR3904
--- a/packages/kernel/current/tests/kcache1.c
+++ b/packages/kernel/current/tests/kcache1.c
@@ -43,6 +43,7 @@
 
 #include <cyg/infra/testcase.h>
 
+#ifdef HAL_DCACHE_SIZE
 #ifdef CYGVAR_KERNEL_COUNTERS_CLOCK
 #ifdef CYGFUN_KERNEL_API_C
 
@@ -372,6 +373,9 @@ cyg_start( void )
 #else // def CYGVAR_KERNEL_COUNTERS_CLOCK
 #define N_A_MSG "Kernel real-time clock disabled"
 #endif // def CYGVAR_KERNEL_COUNTERS_CLOCK
+#else // def HAL_DCACHE_SIZE
+#define N_A_MSG "No caches defined"
+#endif // def HAL_DCACHE_SIZE
 
 #ifdef N_A_MSG
 externC void
--- a/packages/kernel/current/tests/kexcept1.c
+++ b/packages/kernel/current/tests/kexcept1.c
@@ -93,6 +93,7 @@ static void handler1(cyg_addrword_t data
 }
 
 
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
 // The following function attempts to cause an exception in various
 // hacky ways.  It is machine dependent what exception is generated.
 // It does reads rather than writes hoping not to corrupt anything
@@ -107,10 +108,13 @@ void cause_exception(void)
         p+=0x100000;
     } while(p != 0);
 }
+#endif
 
 static void entry0( CYG_ADDRWORD data )
 {
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
     cyg_code_t n;
+#endif
     cyg_exception_handler_t *old_handler, *old_handler1;
     cyg_addrword_t old_data, old_data1;
 
@@ -145,6 +149,8 @@ static void entry0( CYG_ADDRWORD data )
     cyg_exception_clear_handler(CYGNUM_HAL_EXCEPTION_MAX);
     cyg_exception_clear_handler(CYGNUM_HAL_EXCEPTION_MAX);
 
+#ifdef CYGNUM_HAL_EXCEPTION_DATA_ACCESS
+
 #if 0
 #elif defined(CYGPKG_HAL_POWERPC_SIM)
     // The exception generated by the SIM is not recognized by GDB.
@@ -169,6 +175,9 @@ static void entry0( CYG_ADDRWORD data )
     cause_exception();
 
     CYG_TEST_FAIL_FINISH("Couldn't cause exception");
+#else // CYGNUM_HAL_EXCEPTION_DATA_ACCESS
+    CYG_TEST_NA("Platform does not support data exceptions");
+#endif
 }
 
 #ifdef CYG_HAL_MIPS_TX39_JMR3904
--- a/packages/kernel/current/tests/stress_threads.c
+++ b/packages/kernel/current/tests/stress_threads.c
@@ -56,6 +56,7 @@
 
 #include <pkgconf/kernel.h>
 #include <pkgconf/libc.h>
+#include CYGHWR_MEMORY_LAYOUT_H
 
 #if defined(CYGFUN_KERNEL_API_C)
 
@@ -91,7 +92,7 @@
 //-----------------------------------------------------------------------
 // Some targets need to define a smaller number of handlers due to
 // memory restrictions.
-#ifdef CYGPKG_HAL_ARM_AEB
+#if defined(CYGMEM_REGION_ram_SIZE) && (CYGMEM_REGION_ram_SIZE < 0x80000)
 #define MAX_HANDLERS 4
 #define N_LISTENERS 1
 #define N_CLIENTS 1
--- a/packages/language/c/libc/current/ChangeLog
+++ b/packages/language/c/libc/current/ChangeLog
@@ -1,4 +1,4 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/string.cdl,
 	  cdl/stdlib.cdl,
@@ -7,6 +7,10 @@ 2000-03-20  John Dallaway  <jld@cygnus.c
 
 	Adjust documentation URLs.
 
+2000-03-27  Jesper Skov  <jskov@redhat.com>
+
+	* src/clibincl/stream.inl (check_this): Use cyb_bool instead of bool.
+
 2000-03-06  Jesper Skov  <jskov@redhat.com>
 
 	* tests/time/strftime.c (test): Adjust test to match below change.
--- a/packages/language/c/libc/current/src/clibincl/stream.inl
+++ b/packages/language/c/libc/current/src/clibincl/stream.inl
@@ -63,7 +63,7 @@
 // FUNCTIONS
 
 #ifdef CYGDBG_USE_ASSERTS
-inline bool
+inline cyg_bool
 Cyg_StdioStream::check_this( cyg_assert_class_zeal zeal ) const
 {
     // check that it has the magic word set meaning it is valid.
--- a/packages/language/c/libm/current/ChangeLog
+++ b/packages/language/c/libm/current/ChangeLog
@@ -1,4 +1,4 @@
-2000-03-20  John Dallaway  <jld@cygnus.co.uk>
+2000-03-28  John Dallaway  <jld@cygnus.co.uk>
 
 	* cdl/libm.cdl: