update to 3.14.12.2

This commit is contained in:
zimoch
2011-12-14 09:42:48 +00:00
parent f058c2d142
commit c9f30bc493
3 changed files with 185 additions and 9 deletions
+184 -6
View File
@@ -3,14 +3,196 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>EPICS Base R3.14.12.1 Release Notes</title>
<title>EPICS Base R3.14.12.2 Release Notes</title>
</head>
<body lang="en">
<h1 align="center">EPICS Base Release 3.14.12.1</h1>
<h1 align="center">EPICS Base Release 3.14.12.2</h1>
<h2 align="center">Changes between 3.14.12.1 and 3.14.12.2</h2>
<!-- Insert new items immediately below here ... -->
<h4>Path for Cap5 loadable library changed</h4>
<p>The perl CA module makes use of a loadable library, which used to be loaded
from the base/lib/&lt;host-arch&gt; directory. However different versions of
Perl require different loadable library binaries as the Perl ABI can change.
Now the library will be installed into and loaded from the directory
base/lib/perl/&lt;version&gt;/&lt;archname&gt; where both &lt;version&gt; and
&lt;archname&gt; are taken from the Perl configuration. This makes it possible
for the same Perl script to be run on both RHEL5 and RHEL6 workstations say, even
though they use different versions of Perl.</p>
<p>To achieve that, first build EPICS Base using the older OS version. Then
on a machine running the newer version, go into the base/src/cap5 directory and
run a <tt>make rebuild</tt> command. This will rebuild the libCap5.so file and
install it into the location appropriate for its Perl version and architecture.</p>
<h4>Build configurations updated for Apple iOS targets</h4>
<p>The build process can now construct universal binaries containing both ARMv6
and ARMv7 code, and several defaults have been changed when building for iOS
targets:</p>
<ul>
<li>The default value for IOS_VERSION is now 5.0, edit the setting in
<tt>configure/os/CONFIG_SITE.Common.iosCommon</tt> to use an older version.</li>
<li>With the introduction of iOS 5.0 we have switched the C++ compiler for
ios-arm from GNU g++ to using the LLVM-based clang++ (the GNU compilers are
apparetnly no longer included with the SDK). This can be switched back by
editing the new <tt>CONFIG_SITE.Common.ios-arm</tt> file.</li>
<li>Like the Darwin builds, universal binaries can now be compiled for the
ios-arm target, containing either or both ARMv6 and ARMv7 instructions. This is
configured by setting ARCH_CLASS in the new <tt>CONFIG_SITE.Common.ios-arm</tt>
file. The default is now to build for ARMv7 only, which is not compatible with
the original iPhone 1 or 3G, or with the iPod Touch Generations 1 or 2.</li>
</ul>
<h4>Added <tt>-b</tt> option to dbExpand</h4>
<p>This turns off monotonic checking of breakpoint tables.</p>
<h4>Launchpad Bugs Resolved</h4>
<p>The following are links to bugs in the Launchpad bug tracker that have been
fixed in this release:</p>
<ul>
<li>697509
<a href="https://launchpad.net/bugs/697509">
Thread synchronization issue in libCom/osi/os/WIN32/osdTime.cpp</a></li>
<li>697516
<a href="https://launchpad.net/bugs/697516">
Crash occurs in Com.dll if filetime is before the EPICS epoch </a></li>
<li>697517
<a href="https://launchpad.net/bugs/697517">
WIN32 osdtime should handle the system time change properly</a></li>
<li>697519
<a href="https://launchpad.net/bugs/697519">
The incorrect way to compute the roll-over in WIN32 osdTime.cpp</a></li>
<li>736273
<a href="https://launchpad.net/bugs/736273">
nonstandard c++ mutable ref in cac</a></li>
<li>786979
<a href="https://launchpad.net/bugs/786979">
incorrect ref counting for timer queues</a></li>
<li>794749
<a href="https://launchpad.net/bugs/794749">
3.14.12 caget without -c always requests maximum element count</a></li>
<li>816678
<a href="https://launchpad.net/bugs/816678">
g++ generic thunk generation fails virtual varargs</a></li>
<li>831648
<a href="https://launchpad.net/bugs/831648">
RTEMS dynamically loaded app fails to execute osdTimeRegister</a></li>
<li>835138
<a href="https://launchpad.net/bugs/835138">
Incorrect calculation oss priorities for posix threads</a></li>
<li>861214
<a href="https://launchpad.net/bugs/861214">
epicsThreadOnce crashes in static object destructor on win32</a></li>
<li>861627
<a href="https://launchpad.net/bugs/861627">
RULES.db has incorrect dbExpand flags</a></li>
<li>878372
<a href="https://launchpad.net/bugs/878372">
in-memory channel, ca client subscribe isnt thread safe</a></li>
<li>878387
<a href="https://launchpad.net/bugs/878387">
In memory channel clear fails from put callback function</a></li>
</ul>
<h4>Added database sanity checks to iocInit</h4>
<p>Two menus may legitimately be modified by users; some checks have been added
that run at iocInit and make sure the choices haven't been changed too much for
the IOC to function properly:</p>
<ul>
<li><tt>menuConvert</tt> is checked to flag problems with IOCs converted from
3.13.x, where the SLOPE choice didn't exist.</p>
<li><tt>menuScan</tt> is checked to ensure the three initial choices are still
present and that there is at least one periodic scan rate.</li>
</ul>
<h4>Fix various catools issues</h4>
<p>Array handling in the caget and camonitor programs has been debugged, fixing
<a href="https://bugs.launchpad.net/bugs/794749">launchpad bug 794749</a> along
with a few other related issues dating back to the addition of variable length
array support.</p>
<h4>Another race condition in errlog cleaned up</h4>
<p>If it was still busy when the IOC was closed down, the errlog thread could
have preempted the exit handler and freed the various internal pvtData mutex and
event objects too soon.</p>
<h4>Top-level make target changes</h4>
<p>Several make targets have been changed. Note that these can only be used from
an application's &lt;top&gt; directory.</p>
<dl>
<dt><code>make uninstall.&lt;arch&gt;</code></dt>
<dd>Deletes the bin/&lt;arch&gt; and lib/&lt;arch&gt; directories for
&lt;arch&gt; only. Note that &lt;arch&gt; does not have to be an
architecture that this host is configured to build, it works for any
arch.</dd>
<dt><code>make archuninstall</code></dt>
<dd>Deletes the bin/&lt;arch&gt; and lib/&lt;arch&gt; directories for all
architectures that this host is configured to build. Should not affect files
used for multiple architectures, or for host or target architectures that
this host is not configured to build.</dd>
<dt><code>make uninstall</code></dt>
<dd>Does archuninstall and also deletes the other install directories include,
db, dbd, doc, html, templates and java. This will affect subsequent builds
for other architectures, but it doesn't delete their bin/&lt;arch&gt; or
lib/&lt;arch&gt; contents.</dd>
<dt><code>make realuninstall</code></dt>
<dd>Deletes all install directories for all architectures.</dd>
<dt><code>make distclean</code></dt>
<dd>Does realclean realuninstall as before, and also now does a cvsclean,
which removes file remnants from CVS operations named <code>.#*</code> and
editor backups named <code>*~</code> throughout the source tree.</dd>
</dl>
<h4>Compress record type</h4>
<p>This record now posts monitors on its NUSE field whenever its value changes.
A new field OUSE was added to support this.</p>
<h4>Remove C++ build rule for <code>.C</code> files</h4>
<p>An early convention on Unix systems was to name C++ files with an upper-case
extention, <code>.C</code>. This does not work on Windows or MacOS where the
filesystems are case-insensitive, and the C++ build rule was causing problems so
has been eliminated. Any remaining C++ source files that are still using this
convention will have to be renamed, preferably to <code>.cpp</code></p>
<h4>Support <code>make -s</code> on Windows</h4>
<p>The flag to silence build output did not work on some Windows architecture
combinations. This has now been fixed.</p>
<h4>iocLogServer now supports logrotate</h4>
<p>The feature in the iocLogServer that closed and reopened the logfile used to
ignore the SIGHUP signal when the log filename did not change. This has now been
changed so these logfiles can be used with the standard Linux logrotate
package.</p>
<h2 align="center">Changes between 3.14.12 and 3.14.12.1</h2>
<p>This release only contains changes that fix bugs or add build configuration
@@ -369,10 +551,6 @@ giving correct initial monitor behavior in some circumstances.</p>
<p>Fixed a crash when ALG (algorithm) was changed to Average at runtime.</p>
<h4>Named Soft Events</h4>
<p>Soft events can now be meaningful strings instead of numbers 1-255.
<h4>configure/RELEASE Enhancements</h4>
<p>Variable definitions in a <tt>configure/RELEASE</tt> file may now use the
+1 -1
View File
@@ -95,7 +95,7 @@
/*
* Deprecation marker
*/
#if defined (__GNUC__) && (__GNUC__ >= 3)
#if defined( __GNUC__ ) && (__GNUC__ > 2)
# define EPICS_DEPRECATED __attribute__((deprecated))
#else
# define EPICS_DEPRECATED
-2
View File
@@ -14,8 +14,6 @@ USR_INCLUDES = -I../../ca
INC += rsrv.h
INC += rsrvIocRegister.h
# The following is used by iocmon
INC += server.h
LIB_SRCS += caserverio.c
LIB_SRCS += caservertask.c