CXUX_Languages Products are:
ada_7.1.1 ada_rts_7.1.1 axi_88k_6.2 hc_7.1 hf77_7.2
ada_88k_6.2 axi_7.1.1 hc_6.3.1 hf77_6.3.2
================================================================================
CX/UX HAPSEO -
VERSION 7.1.1
RELEASE NOTES
Harris Computer Systems Corporation
1. Introduction
The Harris Ada Programming Support Environment (HAPSE) is a
tool set for the development of Ada programs on Harris
Computer Systems computers under the CX/UX, CX/RT, and CX/SX
environments. The derivation of the validation under
version 1.11 of the Ada Compiler Validation Capability
(ACVC) suite is currently in progress at the time of this
writing. HAPSE version 7.1.1 (v7.1.1) applies to both
Series 4000 and Series 5000 systems. HAPSE v7.1.1 contains
two distinct Ada run-time environments: the Basic Ada Run-
time and the Ada Real-time Multiprocessor System (ARMS)
(TM).
HAPSE v7.1.1 contains not only a complete release of the
HAPSE product, but also a skeleton HAPSE environment that
makes it possible for more than one version (installation)
of HAPSE to be configured on your system at a given time.
Details of this multiple HAPSE capability are outlined in
Chapter 2 of the HAPSE Reference Manual.
In addition, HAPSE v7.1.1 includes HAPSE POSIX 1003.5, a
complete implementation of the Institute of Electrical and
Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
POSIX 1003.5 is an abstract Ada binding to items covered by
POSIX 1003.1. This implementation is fully compliant with
the standard and allows users to create fully compliant
applications. It includes source code for the specification
of all POSIX 1003.5 packages as well as the pre-compiled
form of the source for the specifications and bodies of
those packages, located under
hapse_location/bindings/posix_1003.5.
__________
- These release notes cover the following products: ada
- 1 -
CX/UX HAPSE 7.1.1 Release Notes
Optional Harris Ada products that are not bundled with the
HAPSE product are available as stand-alone products that
must be obtained separately. For more information about
optional Ada products and support tools, contact the Harris
Software Support Center at the number listed in the
"Documentation" section.
Optional products that complement HAPSE include the
following:
o Harris AXI (TM) (an Ada X Window Systems (TM) Interface
to Xlib, Xt, and Motif (TM))
o Harris ID Tools (Ada and C cross-referencing tools)
o Harris NightView (TM) (a graphical real-time debugger)
o Harris NightTrace (TM) (a graphical real-time trace and
analysis tool)
2. Trademark Acknowledgements
ARMS is a trademark of Harris Computer Systems Corporation.
AXI is a trademark of Sente Corporation.
HAPSE is a registered trademark of Harris Computer Systems Corporation.
Motif is a trademark of the Open Software Foundation.
NightTrace is a trademark of Harris Computer Systems Corporation.
NightView is a trademark of Harris Computer Systems Corporation.
X Window System is a trademark of the X Consortium, Inc.
3. Documentation
The following documentation is included with this release:
_______________________________________________________________
| Manual Name Pub. Number |
|______________________________________________|_______________|
| HAPSE Reference Manual | 0890288-070 |
| CX/UX HAPSE Runtime Shared Lib. Ver. 7.1.1 RN| 0890449-7.1.1|
| HAPSE a.db Debugging Manual | 0890450-000 |
| CX/UX HAPSE 7.1.1 Release Notes | 0890288-7.1.1|
| HAPSE POSIX 1003.5 Conformance Guide | 0890404-020 |
| AXI Reference Manual | 0890418-000 |
|______________________________________________|_______________|
- 2 -
Release Notes 7.1.1 CX/UX HAPSE
|______________________________________________|_______________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
The HAPSE POSIX 1003.5 Conformance Guide describes in detail
the compliance of the implementation with the standard.
Specification of the actual POSIX 1003.5 standard is
available directly from IEEE, the Institute of Electrical
and Electronic Engineers (1-800-678-IEEE).
4. Prerequisites
Prerequisites for CX/UX HAPSE Version 7.1.1 are as follows:
4.1 Hardware
o Any Series 4000 or Series 5000 system
o 32MB physical memory (minimum configuration)
o Total of 8MB physical memory per HAPSE user (minimum
configuration)
4.2 Software
o CX/UX 7.1 (CX/RT 7.1 or CX/SX 7.1 are acceptable)
5. Cautions
o The compiled form of HAPSE v7.1.1 Ada libraries is
incompatible with those of all previous releases.
Therefore, all Ada source code contained in user HAPSE
libraries must be recompiled after the installation of
HAPSE v7.1.1 (except for libraries that will continue
to use a previous release as their HAPSE version of
choice). The HAPSE tool a.cleanlib should be used to
clean out user HAPSE libraries before recompilation
begins.
- 3 -
CX/UX HAPSE 7.1.1 Release Notes
o Harris-defined defaults for all system-wide
configurable HAPSE parameters are in effect when v7.1.1
is installed. If non-default parameters were used
before the installation of this release, please make
the necessary adjustments to the configurable
parameters to obtain the desired limits using the HAPSE
tool a.config.
o The interface to the a.config tool has been
significantly enhanced. The new interface to the
a.config tool encompasses all the functionality in
a.sharelib and the old a.config tool's interface.
However, many old options to a.config are now obsolete.
a.config still accepts many of the old a.config options
for compatibility purposes for this release only.
These options will not be accepted in subsequent
releases. Obsolete options that affected the HAPSE-
wide configuration were not retained in this release as
they interfered with the new interface. System
administrators must use the new interface when
modifying HAPSE-wide configuration parameters.
o The a.sharelib tool is now obsolete. It has been
replaced by a.config. a.sharelib remains functional by
being a link to a.config, which accepts the obsolete
a.sharelib interface, for this release only. The link
will be removed in subsequent releases.
o The semantics of a.config have changed. In the old
model, a library was not required to have a
configuration. If it did not, it would use the HAPSE-
wide configuration. Any changes to the HAPSE-wide
configuration had an immediate effect in all libraries
without configurations. In the new model, a library
always has a configuration. It inherits the HAPSE-wide
configuration at the time the library is created. If
the HAPSE-wide configuration is later changed, that
change will impact only libraries that are created
after that change. If a user wishes the change to
effect a library that already exists, the change must
be made to the library separately.
o The a.target tool is now obsolete. It is supported for
compatibility in this release only. It will be removed
in subsequent releases.
o The names of the a.analyze88 and a.report88 tools have
been changed to a.analyze and a.report, respectively.
Likewise, the names of the analyze88 and report88 tools
- 4 -
Release Notes 7.1.1 CX/UX HAPSE
have been changed to analyze and report, respectively.
As in the last release, users should not invoke the
analyze, report, analyze88, or report88 tools directly.
They should invoke the a.analyze and a.report tools
instead, which ensures that correct options are passed
to the analyze and report tools. The tools
a.analyze88, a.report88, analyze88, and report88 are
included in this release only for compatibility. They
will be removed in subsequent releases.
o HAPSE tools no longer create the .target_88K file in
each user library. Some users utilize this file in
their makefiles. A similar effect can be created by
using the .HAPSE file in user makefiles instead.
o Several packages have been removed from the HAPSE
standard library. For compatibility, the compiled form
of the old packages have been moved to publiclib.
These packages will be removed from publiclib in
subsequent releases.
o Generation of full debug information (the -g option)
will increase compilation times by approximately 5 to
15 percent. Similarly, the use of the -g option will
increase the size of generated object files and
executables by approximately 35 to 45 percent.
6. Installation
Installation instructions are contained solely within
Chapter 2 of the HAPSE Reference Manual and are not included
in these release notes. Please consult the manual for
configuration options and specific installation procedures
to use with the multiple HAPSE capability.
7. Fixes in This Release
o All fixes and enhancements from HAPSE v6.2 and HAPSE
v7.1 patches, including:
- a.ld no longer requires write access to the HAPSE
library containing the main program unit.
- 5 -
CX/UX HAPSE 7.1.1 Release Notes
- The ARMS run-time system has been corrected to
allow programs linked with it to be profiled using
a.analyze with the -P option.
- The HAPSE-supplied function
current_exception.exception now returns a non-null
string describing the cause of the current
exception, if one has been raised.
- Type conversions are now allowed as parameters
when the corresponding formal parameters are
declared with mode out.
- The parameter profile to sockets.setsockopt has
been corrected.
- The performance of a.ls when executed on large
libraries has been improved.
- Length clauses for fixed-point types which specify
values for 'small which are equal to the specified
'delta but are not even powers of two are now
accepted.
- the a_strings.substitute routine no longer raises
constraint_error when the size of the original
substring does not match the size of the
replacement substring.
o Additional Fixes in This Release:
- The a.db -attach option no longer kills the
program being attached if the attach fails.
- The a.ld tool can now deal with large numbers of
Ada shared objects in a single link.
- The a.path tool no longer requires write
permission to a library when it is only displaying
the path for that library.
8. Features in This Release
o Compliance with ACVC validation suite version 1.11.
o Full support of Ada R.M. Chapter 13.
- 6 -
Release Notes 7.1.1 CX/UX HAPSE
o Compliance with IEEE-Std-1003.5-1992.
o The CX/UX HAPSE POSIX 1003.5 implementation is fully
compliant when the Basic Ada run-time system is
selected by the user at link time. (This is the
default.) The CX/UX HAPSE POSIX 1003.5 implementation
is not fully compliant when the ARMS run-time is
selected at link time (-arms option to the HAPSE tool
a.ld). See the HAPSE POSIX 1003.5 Conformance Guide
for more details.
o All enhancements from HAPSE v6.2 and HAPSE v7.1
patches, including:
- The HAPSE-supplied library harrislib was enhanced.
It now includes partial support for 32-bit
unsigned integers via the unsigned_support
package.
- .ada is now accepted as a source file suffix in
all places where .a and .pp were accepted.
- The a_strings.free routine has been implemented.
- The a.ld prelinker was modified to accept the -a
and -al options to force ARMS programs to share
the specified object file and libraries.
- The posix_1003.1 library now includes thin/direct
bindings to IEEE-Std-1003.1b (POSIX 1003.1b, also
previously known as POSIX 1003.4) as well as
IEEE-Std-1003.1 (POSIX 1003.1).
- Several changes have been made to a.db to improve
the total size of the debugger and the speed of
the debugger during initialization.
o New Development in This Release:
- Support for producing DWARF Debug Information:
* HAPSE-supplied libraries (standard,
harrislib, etc.) are built with DWARF debug
information.
* It is possible to compile only certain units
in a program with debug information and to
omit the debug information on others. This
is controlled by the debug level. The debug
- 7 -
CX/UX HAPSE 7.1.1 Release Notes
level can be set for a compilation via the -g
option to a.mklib, a.cleanlib, a.config, ada,
and a.make.
* Pragma DEBUG is provided to allow users to
set the debug_level for a compilation unit
from within the Ada source code. The format
is: pragma DEBUG(unit_name, debug_level),
where unit_name is an Ada unit name, and
debug_level is either A.DB or FULL.
- Advantages of DWARF Debug Information:
* Allows debugging with the NightView graphical
real-time debugger.
* The library in which a program was built is
no longer necessary for debugging when using
NightView with DWARF debug information, as it
was with a.db. So, a program can be debugged
on a target system that lacks a HAPSE
environment.
* DWARF debug information is capable of
describing almost all languages features.
- Compilation Size and Speed Improvements:
* The size and speed of compilations is
improved for the following situation: The
compilation includes complex expressions that
involve overload resolution where there are
large numbers of functions whose parameter
profiles must be checked. This is most
common where an operator such as "+" is
overloaded hundreds of times and then used in
complex expressions.
- Optimizations and Performance:
* Exception handling speed is improved when an
exception is raised and is propagated through
frames that handle other exceptions, but that
do not handle the exception which was raised.
This case is now handled by the internal
exception handling code, rather than by
implicit raise statements in the generated
code.
- 8 -
Release Notes 7.1.1 CX/UX HAPSE
- Optimizations and Program Size:
* The selective linking feature of a.ld (-c) is
now functional for ELF programs. It is not
available for shared object programs.
- Tools:
* The following tools now support the -g[n]
(debug level) option: ada, a.make, a.mklib,
a.cleanlib, and a.config.
* The interface to the a.config tool has been
significantly enhanced. See the manual for
more information.
* The a.make tool now handles commands such as:
a.make unit_name. If it is not aware of the
unit named unit_name, it attempts to locate a
source file with the name of the unit
suffixed with .a, .pp, or .ada. If found, it
will compile that source file, assuming that
the unit is contained therein.
* The a.ld prelinker was modified to accept the
-a and -al options to force ARMS programs to
share the specified object file and
libraries.
* The a.sharelib tool is now obsolete.
* The a.target tool is now obsolete.
* The a.mklib and a.cleanlib tools no longer
accept the -t option. It is obsolete.
* The names of the a.analyze88 and a.report88
tools have been changed to a.analyze and
a.report, respectively. Likewise, the names
of the analyze88 and report88 tools have been
changed to analyze and report, respectively.
* The a.ls tool now supports the -U option to
display uncompiled units and the -n option to
display the total numbers of uncompiled and
compiled units in the library.
- Ada Debugger (a.db) Enhancements and Features:
- 9 -
CX/UX HAPSE 7.1.1 Release Notes
* a.db was modified from a ucb universe
application to an att universe program. This
has no effect on the user, but does affect
such subtleties as output formats and
possibly screen behavior.
* If a breakpoint was disabled immediately
after it was hit, then a.db could hang the
next time the break address was crossed,
unless the program was restarted. a.db no
longer hangs when an improperly disabled
breakpoint is encountered.
* Several bugs related to displaying values of
expressions containing C variables and/or
function calls were repaired.
* A nuisance warning about not locating DWARF
information in libc.so.1 was removed.
* Performance was improved by adding a cache to
tdesc lookup routines. This is especially
noticeable when single stepping.
* The stack trace capabilities for a.db were
improved, so that a.db is able to walk back
through more complex stack frames correctly.
* The cs command now works correctly when
issued from the entry address of a called
subprogram before the allocation of the
subprogram's stack frame.
* Several bugs in disassembly were fixed.
These generally resulted in the debugger
going into a tight loop complaining about
segmentation faults, bad reads, or assertion
errors whenever a key was pressed.
* Several performance issues were addressed in
the single step I/O polling algorithm. a.db
will perform more blocking waits than it used
to. This results in better performance for
the debugged process because more CPU time is
available.
- The following HAPSE-supplied library packages were
modified:
- 10 -
Release Notes 7.1.1 CX/UX HAPSE
* The posix_1003.1 library now includes
thin/direct bindings to IEEE-Std-1003.1b
(POSIX 1003.1b, also previously known as
POSIX 1003.4) as well as IEEE-Std-1003.1
(POSIX 1003.1).
The following packages have been removed from the
HAPSE standard library:
* close_all
* file_names
* ioctl
* ioctl_fmt
* memory
* strlen
* strncpy
* text_supprt
* tty
* unix
* unix_status_buffer
Those packages provided non-standard bindings
which were used internally by the language-defined
package bodies.
Rather than using these packages, we recommend use
of IEEE-Std-1003.5-1992, an abstract/thick binding
to operating system services. An implementation
of this binding can be found in
/usr/hapse/88k_7.1.1/bindings/posix_1003.5. A
non-standard, direct/thin binding to the same
operating system services can be found in
/usr/hapse/88k_7.1.1/bindings/posix_1003.1.
For compatibility, the compiled form of the old
packages have been moved to publiclib. These
packages will be removed from publiclib in
subsequent releases.
- 11 -
CX/UX HAPSE 7.1.1 Release Notes
- Optional Products:
* Ada bindings to the X Window System
(including Xlib, Xt, and Motif) may be
purchased for any system running this release
of HAPSE.
* Harris ID tools may be used for performing
cross-referencing over Ada source files.
* Harris NightView is a graphical real-time
debugger capable of debugging programs
created with this HAPSE.
* Harris NightTrace is a graphical real-time
tracing tool which is capable of tracing
programs created with this HAPSE.
- 12 -
Release Notes 7.1.1 CX/UX HAPSE
9. Changes From Previous Releases
o The dr_interface package will not be released with the
next version of HAPSE. Please use the
real_time_data_monitoring package instead.
o The structure of the internal representation of
previously compiled information (DIANA) has changed in
this release. Therefore, libraries previously compiled
with different versions of HAPSE must be cleaned and/or
removed if this version of HAPSE is to be used in such
libraries.
o The interface to the a.config tool has been
significantly enhanced. The new interface to the
a.config tool encompasses all the functionality in
a.sharelib and the old a.config tool's interface.
However, many old options to a.config are now obsolete.
a.config still accepts many of the old a.config options
for compatibility purposes for this release only.
These options will not be accepted in subsequent
releases. Obsolete options that affected the HAPSE-
wide configuration were not retained in this release,
as they interfered with the new interface. System
administrators must use the new interface when
modifying HAPSE-wide configuration parameters.
o The a.sharelib tool is now obsolete. It has been
replaced by a.config. a.sharelib remains functional by
being a link to a.config, which accepts the obsolete
a.sharelib interface, for this release only. The link
will be removed in subsequent releases.
o The semantics of a.config have changed. In the old
model, a library was not required to have a
configuration. If it did not, it would use the HAPSE-
wide configuration. Any changes to the HAPSE-wide
configuration had an immediate effect in all libraries
without configurations. In the new model, a library
always has a configuration. It inherits the HAPSE-wide
configuration at the time the library is created. If
the HAPSE-wide configuration is later changed, that
change will impact only libraries that are created
after that change. If a user wishes the change to
effect a library that already exists, the change must
be made to the library separately.
o The a.target tool is now obsolete. It is supported for
compatibility in this release only. It will be removed
- 13 -
CX/UX HAPSE 7.1.1 Release Notes
in subsequent releases.
o The a.mklib and a.cleanlib tools no longer accept the
-t option. It is obsolete.
o The names of the a.analyze88 and a.report88 tools have
been changed to a.analyze and a.report, respectively.
Likewise, the names of the analyze88 and report88 tools
have been changed to analyze and report, respectively.
As in the last release, users should not invoke the
analyze, report, analyze88, or report88 tools directly.
Instead, they should invoke the a.analyze and a.report
tools, which ensure that correct options are passed to
the analyze and report tools. The tools a.analyze88,
a.report88, analyze88, and report88 are included in
this release only for compatibility. They will be
removed in subsequent releases.
o HAPSE tools no longer create the .target_88K file in
each user library. Some users utilize this file in
their makefiles. A similar effect can be created by
using the .HAPSE file in user makefiles instead.
o The tools fe.88k, cg.88k, reorder.88k, a.ld.88k, and
std.88k have changed their names to fe, cg, reorder,
a.ld, and std, respectively. These tools should never
be executed by the user, so this change should not have
any adverse effects on the user.
o Several packages have been removed from the HAPSE
standard library. For compatibility, the compiled form
of the old packages have been moved to publiclib.
These packages will be removed from publiclib in
subsequent releases.
10. Known Problems with HAPSE v7.1.1
In the HAPSE POSIX 1003.5 Conformance Guide, page 2-4, for
Section 2.4.1.2.1 Configurable System Limits, change
Open_Stream_Maxima to Stream_Maxima.
Problems with HAPSE version 7.1.1 will be individually
resolved in patches to v7.1.1, or in subsequent releases.
- 14 -
Release Notes 7.1.1 CX/UX HAPSE
11. Direct Software Support
Software support is available from a central source. When
you need assistance or information about your system, please
contact the Harris Software Support Center at our toll free
number (800-245-6453). Our customers outside the
continental United States can contact us directly at 305-
971-6248. The Software Support Center operates Monday
through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate
access to a broad range of skilled personnel and guarantees
you a prompt response from the person most qualified to
assist you. If you have a question requiring on-site
assistance or consultation, the Software Support Center
staff will arrange for a field analyst to return your call
and schedule a visit.
Harris provides a Software Action Request (SAR) form which
our customers can fill out and submit to their local field
analyst or the Software Support Center. This procedure
ensures that your request is entered into our SAR database
for follow-up and action.
To obtain copies of SAR forms, call the Software Support
Center and request form number CSD1833B.
- 15 -
CONTENTS
1. Introduction............................................ 1
2. Trademark Acknowledgements.............................. 2
3. Documentation........................................... 2
4. Prerequisites........................................... 3
4.1 Hardware........................................... 3
4.2 Software........................................... 3
5. Cautions................................................ 3
6. Installation............................................ 5
7. Fixes in This Release................................... 5
8. Features in This Release................................ 6
9. Changes From Previous Releases.......................... 13
10. Known Problems with HAPSE v7.1.1........................ 14
11. Direct Software Support................................. 15
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
CX/UX HAPSEO
VERSION 7.1.1
RELEASE NOTES
0890288-7.1.1
October 1994
_________________________________________________________________
return to index
================================================================================
Power UNIX HAPSEO -
VERSION 7.1.1
RELEASE NOTES
Harris Computer Systems Corporation
1. Introduction
The Harris Ada Programming Support Environment (HAPSE) is a
tool set for the development of Ada programs on RS/6000
computers under the Power UNIX environment. HAPSE v7.1.1
uses the Basic Ada Run-time System, which implements Ada
tasks as states of execution contained within a single
process (the user program).
HAPSE v7.1.1 contains not only a complete release of the
HAPSE product, but also a skeleton HAPSE environment that
makes it possible for more than one version (installation)
of HAPSE to be configured on your system at a given time.
Details of this multiple HAPSE capability are outlined in
Chapter 2 of the HAPSE Reference Manual.
In addition, HAPSE v7.1.1 includes HAPSE POSIX 1003.5, a
complete implementation of the Institute of Electrical and
Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
POSIX 1003.5 is an abstract Ada binding to items covered by
POSIX 1003.1. This implementation is fully compliant with
the standard and allows users to create fully compliant
applications. It includes source code for the specification
of all POSIX 1003.5 packages as well as the pre-compiled
form of the source for the specifications and bodies of
those packages, located under
hapse_location/bindings/posix_1003.5.
For more information about packages and support tools,
contact the Harris Software Support Center at the number
listed in the Documentation section.
__________
- These release notes cover the following products: ada
- 1 -
Power UNIX HAPSE 7.1.1 Release Notes
2. Trademark Acknowledgements
HAPSE is a registered trademark of Harris Corporation.
3. Documentation
The following documentation is included with this release:
______________________________________________________
| Manual Name Pub. Number |
|_____________________________________|_______________|
| HAPSE Reference Manual | 0890288-070 |
| HAPSE a.db Debugging Manual | 0890450-010 *|
| Power UNIX HAPSE 7.1.1 Release Notes| 0890288-7.1.1|
| HAPSE POSIX 1003.5 Conformance Guide| 0890404-020 *|
|_____________________________________|_______________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
The HAPSE POSIX 1003.5 Conformance Guide describes in detail
the compliance of the implementation with the standard.
Specification of the actual POSIX 1003.5 standard is
available directly from IEEE, the Institute of Electrical
and Electronic Engineers (1-800-678-IEEE).
4. Prerequisites
Prerequisites for Power UNIX HAPSE Version 7.1.1 are as
follows:
4.1 Hardware
o Any IBM RS/6000 system
o 32MB physical memory (minimum configuration)
o Total of 8MB physical memory per HAPSE user (minimum
configuration)
- 2 -
Release Notes 7.1.1 Power UNIX HAPSE
4.2 Software
o Power UNIX 1.1, patch level base-007. If NFS is
installed, patch level nfs-001.
5. Cautions
o Harris-defined defaults for all system-wide
configurable HAPSE parameters are in effect when v7.1.1
is installed. If non-default parameters were utilized
prior to the installation of this release, please make
the necessary adjustments to the configurable
parameters to obtain the desired limits using the HAPSE
tool a.config.
o HAPSE v7.1.1 produces executable images using the ELF
object file format, which includes DWARF debug
information. Shared-Objects and dynamic linking are not
supported in this release. For in-depth discussions
about object format and linking under Power UNIX 1.1,
refer to the Compilation Systems Volume 2 (Concepts)
manual, "Executable and Linking Format (ELF)" chapter.
o Single and double precision floating point entities
must be aligned on word boundaries. The compiler will
issue an error when it finds a misaligned float.
6. Installation
HAPSE is installed as an optional package to the operating
system. Installation instructions for loading packages are
contained in the Secure/Power UNIX Version 1.1 Release
Notes. For a better understanding of the multiple HAPSE
capability which is being installed on your system, see
Chapter 2 of the HAPSE Reference Manual.
7. Features in this Release
o Compliance with ACVC validation suite version 1.11.
o Full support of Ada R.M. Chapter 13.
- 3 -
Power UNIX HAPSE 7.1.1 Release Notes
o Compliance with IEEE-Std-1003.5-1992. The HAPSE POSIX
1003.5 implementation is fully compliant when using the
Basic Ada Run-time system. (This is the default.) See
the HAPSE POSIX 1003.5 Conformance Guide for more
details.
o Two profiling tools, a.analyze and a.report are
available for compile-time analysis. When an
executable is linked with the HAPSE tracing run-time
library, the tool a.trace prints a run-time analysis.
See the HAPSE Reference Manual for more details.
8. Known Problems with HAPSE v7.1.1
Problems with HAPSE version 7.1.1 will be individually
resolved in patches to v7.1.1 or in subsequent releases.
9. Direct Software Support
Software support is available from a central source. When
you need assistance or information about your system, please
contact the Harris Software Support Center at our toll free
number (800-245-6453). Our customers outside the
continental United States can contact us directly at 305-
971-6248. The Software Support Center operates Monday
through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate
access to a broad range of skilled personnel and guarantees
you a prompt response from the person most qualified to
assist you. If you have a question requiring on-site
assistance or consultation, the Software Support Center
staff will arrange for a field analyst to return your call
and schedule a visit.
Harris provides a Software Action Request (SAR) form which
our customers can fill out and submit to their local field
analyst or the Software Support Center. This procedure
ensures that your request is entered into our SAR database
for follow-up and action.
To obtain copies of SAR forms, call the Software Support
Center and request form number CSD1833B.
- 4 -
Release Notes 7.1.1 Power UNIX HAPSE
- 5 -
CONTENTS
1. Introduction.............................................. 1
2. Trademark Acknowledgements................................ 2
3. Documentation............................................. 2
4. Prerequisites............................................. 2
4.1 Hardware............................................. 2
4.2 Software............................................. 3
5. Cautions.................................................. 3
6. Installation.............................................. 3
7. Features in this Release.................................. 3
8. Known Problems with HAPSE v7.1.1.......................... 4
9. Direct Software Support................................... 4
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
Power UNIX HAPSEO
VERSION 7.1.1
RELEASE NOTES
0890288-7.1.1
October 1994
_________________________________________________________________
return to index
================================================================================
CX/UX HAPSEO -
VERSION 6.2
RELEASE NOTES
Harris Computer Systems Division
1. Introduction
The Harris Ada Programming Support Environment (HAPSE) is a
tool set for the development of Ada programs on Harris
computers under the CX/UX, CX/RT, and CX/SX environments.
This release has been validated under version 1.11 of the
Ada Compiler Validation Capability (ACVC) suite. HAPSE
version 6.2 (v6.2) applies to both Harris Series-4000 and
Harris Series-5000 systems. HAPSE v6.2 contains two
distinct Ada run-time environments: the Basic Ada Run-time
and the Ada Real-time Multiprocessor System (ARMS) (TM).
HAPSE v6.2 contains not only a complete release of the HAPSE
product, but also a skeleton HAPSE environment that makes it
possible for more than one version (installation) of HAPSE
to be configured on your system at a given time. Details of
this multiple HAPSE capability are outlined in Chapter 2 of
the CX/UX HAPSE Reference Manual.
In addition, HAPSE v6.2 includes CX/UX HAPSE POSIX 1003.5, a
complete implementation of the Institute of Electrical and
Electronic Engineers (IEEE) standard IEEE-Std-1003.5-1992.
POSIX 1003.5 is an abstract Ada binding to items covered by
POSIX 1003.1. This implementation is fully compliant with
the standard and allows users to create fully compliant
applications. It includes source code for the specification
of all POSIX 1003.5 packages as well as the pre-compiled
form of the source for the specifications and bodies of
those packages, located under
hapse_location/bindings/posix_1003.5.
__________
- These release notes cover the following products:
ada_88k
- 1 -
CX/UX HAPSE 6.2 Release Notes
Optional Harris Ada products that are not bundled with the
HAPSE product are available as stand-alone products that
must be obtained separately. For more information about
optional Ada products and support tools, contact the Harris
Software Support Center at the number listed in the next
section.
Optional products that complement HAPSE include the
following:
o Harris AXI (an Ada X Window Systems (TM) Interface to
Xlib, Xt, and Motif (TM))
o Harris ID Tools (Ada and C cross-referencing tools)
o Harris NightTrace (TM) (a graphical real-time trace and
analysis tool)
2. Trademark Acknowledgements
ARMS is a trademark of Harris Corporation.
HAPSE is a registered trademark of Harris Corporation.
Motif is a trademark of the Open Software Foundation.
NightTrace is a trademark of Harris Corporation.
X Window System is a trademark of the Massachusetts Institute of Technology.
3. Documentation
The following documentation is included with this release:
__________________________________________________________
| Manual Name Pub. Number|
|___________________________________________|_____________|
| CX/UX HAPSE Reference Manual | 0890288-050|
| CX/UX HAPSE 6.2 Release Notes | 0890288-6.2|
| CX/UX HAPSE POSIX 1003.5 Conformance Guide| 0890404-010|
| HAPSE a.db Debugging Manual | 0890450-000|
|___________________________________________|_____________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
- 2 -
Release Notes 6.2 CX/UX HAPSE
The CX/UX HAPSE POSIX 1003.5 Conformance Guide describes in
detail the compliance of the implementation with the
standard. Specification of the actual POSIX 1003.5 standard
is available directly from IEEE, the Institute of Electrical
and Electronic Engineers (1-800-678-IEEE).
4. Prerequisites
Prerequisites for CX/UX HAPSE Version 6.2 are as follows:
- 3 -
CX/UX HAPSE 6.2 Release Notes
4.1 Hardware
o Any Harris Series-4000 or Series-5000 system
o 32MB physical memory (minimum configuration)
o Total of 8MB physical memory per HAPSE user (minimum
configuration)
4.2 Software
o CX/UX 6.2 (CX/RT 6.2 or CX/SX 6.2 are acceptable)
5. Cautions
o The compiled form of HAPSE v5.2 and HAPSE v6.2 Ada
libraries are incompatible. Therefore, all Ada source
code contained in user HAPSE libraries must be
recompiled after the installation of HAPSE v6.2 (except
for libraries that continue to use HAPSE v5.2 as their
HAPSE version of choice). The HAPSE tool, a.cleanlib,
should be used to clean out user HAPSE libraries before
recompilation begins.
o Harris-defined defaults for all system-wide
configurable HAPSE parameters are in effect when v6.2
is installed. If non-default parameters were utilized
prior to the installation of this release, please make
the necessary adjustments to the configurable
parameters to obtain the desired limits using the HAPSE
tool a.config.
6. Installation
Installation instructions are contained solely within
Chapter 2 of the CX/UX HAPSE Reference Manual and are not
included in these release notes. Please consult the manual
for configuration options and specific installation
procedures to use with the multiple HAPSE capability.
- 4 -
Release Notes 6.2 CX/UX HAPSE
7. Fixes in this Release
o All fixes and enhancements from HAPSE v5.2 patches.
- A patched assembler has been provided which does
not corrupt object files produced from large Ada
source files.
- In the Basic Ada run-time model, the a.db tool no
longer disables breakpoints between one execution
of a program and the next in the same session.
- a.ld now correctly links programs that use the AXI
(X Window System) bindings.
- The performance of a.ld was significantly
improved.
- a.slinker now removes dead routines which were
previously considered as "live" only because they
had explicit exception handlers.
- a.slinker now removes dead routines from programs
which utilize C object that was compiled for the
88110 architecture (Series 5000).
- The code generator now correctly sizes
uninitialized package allocation bases that are
marked with pragma MEMORY_POOL (data, pkg, ...);
this corrects the bus error or segmentation fault
sometimes seen during program startup.
- The run-time startup code now migrates to the
correct CPU board before creating the physical
local memory pool as specified by the user via
pragma MEMORY_POOL (data, pkg, local, ...).
- The a.make tool now correctly compiles source
files after failed compilations of subunits when
their source files contain other, unrelated units,
and when the error is actually in a parent unit.
- The a.make tool was not prepared for the
circumstance that the same PID may be reused at
different times in extremely long compilations.
It now correctly handles this situation.
- The implementation of a.make's -All option has
been corrected to compile source files of out-of-
- 5 -
CX/UX HAPSE 6.2 Release Notes
date units in other libraries in those other
libraries.
- A new option, a.make -import, compiles all out-
of-date units into the current library or library
specified by -lib.
- The a.make tool now correctly handles the case
where large numbers of error messages occur in its
dependency-analysis phase.
- The performance of a.make was significantly
improved.
- a.monitor's permissions were corrected and
fast_interrupt_task tasks are now displayed even
in the absence of "ghost" mode.
- The a.rm tool has been extensively modified and
will no longer corrupt ada.lib files.
- The a.rm utility now accepts a new option, -U. It
permits a user to place units in the UNCOMPILED
state, instead of physically removing them. The
use of this option works correctly with the a.make
utility, whereas the physical removal of units
without the -U option can confuse it.
- The requirement for the Data_Rec_Array_Index_Limit
to be greater than 1 in order to data record or
monitor complex array components was lifted for
the tool a.rtm and the real_time_data_monitoring
package. This tool and package now are able to do
lookups on arbitrarily complex array components as
long as Data_Array_Index is 1 (or greater.)
Please note that the system utility rtutil(1) was
not modified and its requirements have not
changed.
- A bug in the internal symbol table management for
a.rtm and the real_time_data_monitoring package
was corrected such that simple name collisions are
handled correctly; two variables in different
packages that have the same simple name can now be
monitored.
- The a.target tool no longer fails when executed.
- 6 -
Release Notes 6.2 CX/UX HAPSE
- Automatic packing of arrays will not pack an array
such that the elements will be smaller than
specified by the user in a 'size representation
clause on the element type. Explicit packing with
pragma PACK, of course, can still force complete
packing.
- Packed-record assignment involving bit extraction
now works correctly.
- The -dr option no longer causes the compiler to
abort with a signal 11.
- Compilation involving nested records where the
outer record is declared private no longer cause
internal assertion errors.
- Compilations of units containing fixed-point types
with dynamic bounds used as the elements of packed
types now compile without internal errors.
- Multiple executions of the fe.88k processor no
longer deadlock.
- The fe.88k processor has been modified to store
correct source file names where there was a
previous compilation of a foreign source file
which contained generic instantiations. (A
foreign source file is a source file that exists
in a library other than the library in which it is
compiled; compiling with the -lib option allows
this.)
- The compilation speed of very large array
aggregates specified with positional notation has
been considerably improved. As an additional
consequence of this, the "TN count exceeded" error
does not occur in relation to them.
- The compilation of non-local source files
containing separate subunits of separate subunits
no longer produces linker errors.
- Bit moves involving objects overlaid with a "for x
use y.z'address" clause, where the base address of
the two objects was not identical, now works
correctly.
- 7 -
CX/UX HAPSE 6.2 Release Notes
- The front end of the compiler was corrected to
elaborate task interrupt entry addresses in the
presence of high levels of optimization.
- The abortion of tasks in select statements with
"terminate" alternatives under the ARMS model no
longer causes the task master to terminate
prematurely.
- On Series 5000 systems, the non-volatile x
registers are saved in all appropriate cases.
- Text_io.new_page raises STATUS_ERROR if the file
is null.
- The standard library contains a new package called
address_clauses. The package contains the
elaboration code for address clauses. If users
wish to modify this code, they can simply make a
copy of the file locally, change the code and add
a with clause on their copy of the address_clauses
package to one of the units in their program.
- A new package, task_synchronization, which
provides the equivalent of a counting semaphore,
was added to the arms HAPSE library. This
provides an extremely efficient real-time
mechanism for synchronizing "n" ARMS tasks.
- Ada tasking programs that use the AXI bindings no
longer experience STORAGE_ERRORS while in the
Xt.AppMainLoop routine.
o Additional Fixes in this Release:
- Generic instantiations now compile correctly in
child libraries, even when the same units exist in
parent libraries, thus eliminating link errors.
- Recompilation of units, when those same units
exist in other libraries on the ADAPATH now work
correctly.
- a.make -p recovers gracefully from failed fork()
calls and when it exhausts both pipes and file
descriptors. It continues after reducing the
degree of parallelism.
- 8 -
Release Notes 6.2 CX/UX HAPSE
- a.rm -U was corrected to remove .objects files.
8. Features in this Release
o Compliance with ACVC validation suite version 1.11.
o Full support of Ada R.M. Chapter 13.
o Compliance with IEEE-Std-1003.5-1992. The CX/UX HAPSE
POSIX 1003.5 implementation is fully compliant when the
Basic Ada Run-time system is selected by the user at
link time. (This is the default.) The CX/UX HAPSE
POSIX 1003.5 implementation is not fully compliant when
the ARMS Run-time is selected at link time (-arms
option to the HAPSE tool a.ld). See the CX/UX HAPSE
POSIX 1003.5 Conformance Guide for more details.
o All enhancements from v5.2 patches, including:
- A new option, a.rm -U, places a unit in an
UNCOMPILED state.
- A new option, a.make -import, compiles all out-
of-date units into the current library or library
specified by -lib.
- 9 -
CX/UX HAPSE 6.2 Release Notes
o New Development in this Release:
- ARMS Enhancements:
* Pragma MEMORY_POOL. The implementation
requires less physical memory and less CPU
time during elaboration. The memory pool
configuration can be stored in a dynamic
MAP_FILE, which may be altered without
relinking the program. Use the new a.ld -mp
option for this.
* Pragma PASSIVE_TASK enhancements include the
addition of GENERAL passive tasks, which have
fewer restrictions on the form of a task
body, and IPL_SERVER passive tasks (system
Interrupt Priority Level control for use with
FAST_INTERRUPT_TASKs).
* Pragma FAST_INTERRUPT_TASK enhancements
include support for the IPL_SERVER passive
task mechanism. Also, conditional entry
calls to passive and non-passive tasks are
now allowed.
- Optimizations and Program Size:
* Enhanced instruction scheduling.
* Reduced compilation size and time for large
programs.
* More opportunities for a.analyze88
optimizations.
* General code quality improvements.
* Internal symbol name-space changes
significantly reduce the size of linked
programs.
- Tools:
* Automatic translation of raw symbol names to
Ada expanded names is output from the tools
a.analyze88 and a.report88. Use the new
option -Zraw_names, to preserve the raw form.
Other new options include -hapse, -lib, and
-V (very verbose). See the help screens or
- 10 -
Release Notes 6.2 CX/UX HAPSE
man pages for a list of all options.
* a.demangle is a new tool which filters names
into a human-readable form.
* The new a.ld -mp option creates a memory-pool
map file that describes the layout of memory
pools defined by the user via pragma
MEMORY_POOL, as well as default heap and
stack sizes. At post-link time, the user may
modify entries in this file, which affect
physical location, cache mode, and size. The
values are read at program startup and used
during program execution by the ARMS
executive. No relinking is needed.
* Enhancements were made to a.make -Z (zoom),
which ignores non-local libraries to reduce
recompilation time.
* The a.make tool was enhanced to handle this
situation: a.make is given a target in a
library that has no such object available,
yet a source file exists with the name
{object}.a or {object}.pp. Instead of
getting a fatal error, a.make finds
dependents of that source file and attempts
to compile the target again, in case {object}
is in that source file.
* Enhancements to a.monitor include
initialization-time performance improvements
and an automatic rescan if a program is not
currently running.
* Enhancements to a.rtm include the ability to
define a display format for a particular item
(e.g., base, fore, aft, exp), the ability to
define a default display format for discrete
types and real types (e.g., base, fore, aft,
exp), a fast modify mode from the command
window, and improved handling of long
expanded names in the display.
- Ada Debugger (a.db) Enhancements and Features:
* a.db displays array slices.
- 11 -
CX/UX HAPSE 6.2 Release Notes
- The following HAPSE-supplied library packages were
added or modified:
* Package: interrupt_entry, arms. File:
interrupt_entry.a. Description: New
subprogram specifications were added to allow
for blocking and unblocking of interrupts
using real-time-clock and eti IDs from the
rtc_control and eti_control packages.
* Package: task_synchronization, arms. File:
task_synchronization.a,
task_synchronization_b.a. Description: New
package added for low-overhead, real-time
synchronization of "n" tasks.
* Packages: real_time_data_monitoring, usermap,
dr_interface, harrislib. Files: rtm.a,
rtm_b.a, rtm_image.a, rtm_value.a, usermap.a,
usermap_b.a, dr_interface.a,
dr_interface_b.a. Description: Real-time
debug enhancements were added which
significantly improve the package. Changes
include support for intermixed use of
multiple programs, a generic read/write
subpackage, enhanced list and search
capabilities, and a more generalized
interface. The old interfaces are still
provided for compatibility, but will be
removed in the next release. Please see the
specification of real_time_data_monitoring in
harrislib for more information.
* Package: generic_math, harrislib. File:
generic_math.a. Description: Remove abs
function, use standard.abs instead.
* Package: interval_timer, harrislib. File:
interval_timer.a. Description: Function "+"
returns the result, not "l".
* Package: math, harrislib. File: math_b.a.
Description: Replace /lib/libM.a with the
new -alM link option.
- 12 -
Release Notes 6.2 CX/UX HAPSE
* Package: rt_interface, harrislib. Files:
rt_interface.a, rt_interface_b.a.
Description: Change slot parameter to OUT
for sched_pgm_add.
* Package: address_clauses, standard. File:
address_clauses.a. Description: New package
added with elaboration code for address
clauses.
* Package: a_strings, standard. File:
a_strings_b.a. Description: Added check for
null string to function to_c.
* Package: machine_code, standard. File:
machine_code.a. Description: Added support
for Series-5000 (MC88110) to the package.
* Package: unix_prcs, standard. File:
unix_prcs_b.a. Description: Deleted function
cx_system which interfaced to CX/UX system.
- Optional Products:
* Ada bindings to the X Window System
(including Xlib, Xt, and Motif) may be
purchased for any system running this release
of HAPSE.
* Harris ID tools may be used for performing
cross-referencing over Ada source files.
9. Changes From Previous Releases
o The dr_interface package no longer operates on FORTRAN
data.
o The dr_interface package will not be released with the
next version of HAPSE. Please use the
real_time_data_monitoring package instead.
o The structure of the internal representation of
previously compiled information (DIANA) has changed in
this release. Therefore, libraries previously compiled
with different versions of HAPSE must be cleaned and/or
removed if this version of HAPSE is to be used in such
libraries.
- 13 -
CX/UX HAPSE 6.2 Release Notes
o The run-time library names in the lib directory
changed. For example, the Basic runtime is now called
libbart.a, rather than lib88k.rts.a, and the ARMS
runtime is called libarms.a, rather than libarms.rts.a.
This should be transparent to the user.
10. Known Problems with HAPSE v6.2
Problems with HAPSE version 6.2 will be individually
resolved in patches to v6.2, or in subsequent releases.
11. Direct Software Support
Software support is available from a central source. When
you need assistance or information about your system, please
contact the Harris Software Support Center at our toll free
number (800-245-6453). Our customers outside the
continental United States can contact us directly at 305-
971-6248. The Software Support Center operates Monday
through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate
access to a broad range of skilled personnel and guarantees
you a prompt response from the person most qualified to
assist you. If you have a question requiring on-site
assistance or consultation, the Software Support Center
staff will arrange for a field analyst to return your call
and schedule a visit.
Harris provides a Software Action Request (SAR) form which
our customers can fill out and submit to their local field
analyst or the Software Support Center. This procedure
ensures that your request is entered into our SAR database
for follow-up and action.
To obtain copies of SAR forms, call the Software Support
Center and request form number CSD1833B.
- 14 -
CONTENTS
1. Introduction............................................ 1
2. Trademark Acknowledgements.............................. 2
3. Documentation........................................... 2
4. Prerequisites........................................... 3
4.1 Hardware........................................... 4
4.2 Software........................................... 4
5. Cautions................................................ 4
6. Installation............................................ 4
7. Fixes in this Release................................... 5
8. Features in this Release................................ 9
9. Changes From Previous Releases.......................... 13
10. Known Problems with HAPSE v6.2.......................... 14
11. Direct Software Support................................. 14
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
CX/UX HAPSEO
VERSION 6.2
RELEASE NOTES
0890288-6.2
December 1993
_________________________________________________________________
return to index
================================================================================
CX/UX HAPSEO Runtime Shared Libraries -
VERSION 7.1.1
RELEASE NOTES
Harris Computer Systems Corporation
1. Introduction
The Harris Ada Programming Support Environment (HAPSE)
Runtime Shared Libraries are a set of compiled and linked
Ada packages for use with Ada applications which explicitly
utilize shared libraries.
These libraries are required to exist in a specific location
on all Series 4000 and Series 5000 systems that run Ada
applications that utilize HAPSE Runtime Shared Libraries.
These libraries are included in the full HAPSE product tape;
therefore, this product tape is necessary only for Series
4000 and Series 5000 systems that do not include the full
HAPSE product.
These libraries include:
o HAPSE libraries (standard, harrislib,
bindings/posix_1003.5, etc.)
o HAPSE runtime systems (ARMS (TM), basic Ada runtime)
o HAPSE I/O subsystem libraries (those that support
text_io, etc.)
o HAPSE real-time support library
__________
- These release notes cover the following products:
ada_rts
- 1 -
CX/UX HAPSE Runtime Shared L7.1.1ies Release Notes
2. Trademark Acknowledgements
HAPSE is a registered trademark of Harris Computer Systems Corporation.
ARMS is a trademark of Harris Computer Systems Corporation.
3. Documentation
The following documentation is included with this release:
_______________________________________________________________
| Manual Name Pub. Number |
|______________________________________________|_______________|
| CX/UX HAPSE Runtime Shared Libraries 7.1.1 RN| 0890449-7.1.1|
|______________________________________________|_______________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
The HAPSE Reference Manual (Publication Number 0890288)
contains related documentation but is not included with this
product.
4. Prerequisites
Prerequisites for CX/UX HAPSE Runtime Shared Libraries
Version 7.1.1 are as follows:
4.1 Hardware
o Any Series 4000 or Series 5000 system
4.2 Software
o CX/UX 7.1 (CX/RT 7.1 or CX/SX 7.1 are acceptable)
- 2 -
Release Notes CX/UX1HAPSE Runtime Shared Libraries
5. Cautions
None.
6. Installation
The ada_rts installation tape contains the ada_rts
libraries. Please refer to the CX/UX System Administration
Manual, Chapter 3, for instructions on software
installation.
7. Known Problems
None.
8. Direct Software Support
Software support is available from a central source. When
you need assistance or information about your system, please
contact the Harris Software Support Center at our toll free
number (800-245-6453). Our customers outside the
continental United States can contact us directly at 305-
971-6248. The Software Support Center operates Monday
through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate
access to a broad range of skilled personnel and guarantees
you a prompt response from the person most qualified to
assist you. If you have a question requiring on-site
assistance or consultation, the Software Support Center
staff will arrange for a field analyst to return your call
and schedule a visit.
Harris provides a Software Action Request (SAR) form which
our customers can fill out and submit to their local field
analyst or the Software Support Center. This procedure
ensures that your request is entered into our SAR database
for follow-up and action.
To obtain copies of SAR forms, call the Software Support
Center and request form number CSD1833B.
- 3 -
CX/UX HAPSE Runtime Shared L7.1.1ies Release Notes
- 4 -
CONTENTS
1. Introduction.............................................. 1
2. Trademark Acknowledgements................................ 2
3. Documentation............................................. 2
4. Prerequisites............................................. 2
4.1 Hardware............................................. 2
4.2 Software............................................. 2
5. Cautions.................................................. 3
6. Installation.............................................. 3
7. Known Problems............................................ 3
8. Direct Software Support................................... 3
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
CX/UX HAPSEO Runtime Shared Libraries
VERSION 7.1.1
RELEASE NOTES
0890449-7.1.1
October 1994
_________________________________________________________________
return to index
================================================================================
CX/UX AXI -
VERSION 7.1.1
RELEASE NOTES
Harris Computer Systems Corporation
1. Introduction
The Ada X Interface (AXI)1 is an abstract Ada binding to the
XO2 Library (Xlib), the X Toolkit (Xt) and Motif3 (Xm).
Using this interface, applications written in Ada may take
full advantage of the X library, the X Toolkit, and Motif.
Installation of this software assumes that the actual C
libraries to which the AXI product "binds" are present on
the system. This product also assumes that the Harris Ada
Programming Support Environment (HAPSEO)4 is installed. The
specifics of these requirements are outlined later in this
document.
The documentation contained with this product assumes that
users are familiar with X and programming with X. It also
assumes a working knowledge of the Ada language and the
HAPSE environment. The documentation provided with the AXI
product does not substitute for documentation about X,
Motif, HAPSE, or the Ada language.
The AXI documentation contains the specifications that
comprise the Ada X Interface. No Ada source modules for the
__________
- These release notes cover the following products: axi
1. AXI is a trademark of Sente Corporation.
2. X is a registered trademark of the X Consortium, Inc.
3. Motif is a trademark of the Open Software Foundation.
4. HAPSE is a registered trademark of Harris Computer
Systems Corporation.
- 1 -
CX/UX AXI 7.1.1 Release Notes
package bodies that make up the AXI interface are shipped
with the AXI product; however, source for the package
specifications are available. These source files may be
useful as a point of reference in addition to the AXI
manual.
- 2 -
Release Notes 7.1.1 CX/UX AXI
2. Documentation
The following documentation is included with this release:
_______________________________________
| Manual Name Pub. Number |
|______________________|_______________|
| AXI Reference Manual | 0890418-000 |
| AXI 7.1 Release Notes| 0890418-7.1.1|
|______________________|_______________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
3. Prerequisites
Prerequisites for CX/UX AXI Version 7.1.1 are as follows:
3.1 Hardware
o Any Series 4000 or Series 5000 system
o 32MB physical memory (minimum configuration)
o Total of 8MB physical memory per AXI user
o An X Terminal
3.2 Software
o CX/UX 7.1 or CX/RT 7.1.
o HAPSE version 7.1.1 installed.
o X Window System Version 11, Release 5 (X11R5).
- 3 -
CX/UX AXI 7.1.1 Release Notes
4. Cautions
AXI version 7.1.1 supports only systems that are running
X11R5 and HAPSE v7.1.1. In order to use the AXI bindings,
X11R5 must be installed.
In order to figure out which version of the X Window System
your system is running, use the xdpyinfo(1) command.
No Ada package body source files are shipped with the AXI
product; therefore, it is not possible to debug Ada programs
through X library calls at the source level. The a.db or
optional NightView TM 5 debuggers may still be used to debug
Ada programs; however, routines within the AXI bindings may
be debugged only at the assembly level.
The 7.1.1 release of AXI is identical to the 7.1 and 3.0.1
releases of AXI, but is compiled for use with HAPSE v7.1.1.
It is compiled with full DWARF debug information.
5. Installation
The installation tape is in cpio format. It contains the
source for all AXI package specifications as well as the
pre-compiled versions of the package specifications and
bodies.
To install CX/UX AXI, follow these steps:
o Sign on as root, or use the "su" program to become
root.
o CX/UX AXI should be installed after the HAPSE product
has been installed. It is intended that this product
be installed under the root partition, since its
default placement is under
"usr/hapse_88k_7.1.1/bindings", and because the HAPSE
product is usually read from tape at the root
directory.
__________
5. NightView is a trademark of Harris Computer Systems
Corporation.
- 4 -
Release Notes 7.1.1 CX/UX AXI
o IT IS REQUIRED THAT AXI BE INSTALLED AT THE SAME
LOCATION AS THE HAPSE PRODUCT! If the axi product was
read from some location other than the root directory,
then the AXI product must also be read in from that
same location.
o Execute "cd /" to position yourself under the root
directory.
o Mount the CX/UX AXI installation tape.
o Issue the command "cpio -iBcvdum < /dev/rmt/0mn" to
read in the first two files setup and tape_list (Note:
the installation tape is assumed to be loaded on drive
0.)
o Issue the command "./setup" to run a menu-driven
program that installs the new CX/UX AXI product.
o The setup program displays a prompt similar to: "Enter
the name of the running kernel or if /unix".
Press the carriage return key. The following message
is displayed: "Non-generic boot. Assuming System
Generation not to be done."
o The next message displayed is: "Reel 1 of the product
tape(s) must be loaded on device /dev/rmt/0mn. Is this
the case? (y|n)". Type "y".
o Expect a pause, then a menu will prompt: "Enter the
numbers of the actions you would like to perform."
Select the number corresponding to "All".
o You will see a message similar to: "Loading object
files" as files come onto the system under the
directory usr/hapse_88k_7.1.1/bindings.
o When the menu returns, select "Exit", and remove the
tape from the drive.
o Installation is now complete.
- 5 -
CX/UX AXI 7.1.1 Release Notes
6. Using the AXI Bindings
Once installed, the AXI bindings may be used in Ada
applications. This section describes the steps required in
order to compile, link, execute, and debug programs that use
the AXI bindings.
6.1 Compilation
In order to compile applications that reference any part of
the AXI bindings (e.g., Xlib, Xt, Motif), a user must first
include the appropriate library pathname(s) on the ADAPATH
search list in the HAPSE library where the application is to
be compiled.
Assuming that the HAPSE installation you are using is
installed in what we will refer to as $hapse_location, then
it is necessary to include either one or both of the
following HAPSE libraries on the ADAPATH:
$hapse_location/bindings/xlibxt
$hapse_location/bindings/motif
The first is necessary for all programs that use the Xlib
and/or Xt interfaces. If these are used exclusively, then
this is the only additional library required on a HAPSE
library's ADAPATH. If Motif is also to be used, then both
libraries shown above must be included on the library path.
The HAPSE library tool a.path recognizes the AXI library
directory names as keywords (regardless of the value of
$hapse_location); therefore, it is possible to configure a
HAPSE library to reference the Xlib and Xt interface by
typing the following command:
a.path -A xlibxt
If Motif will be used, then the additional command should
also be issued:
a.path -A motif
Note that for applications that utilize the Motif interface,
both supplied libraries must be included on the ADAPATH in
the library where compilations will be performed. The
- 6 -
Release Notes 7.1.1 CX/UX AXI
Motif-specific library path is not sufficient for Ada Motif
applications as the Motif interface depends upon both Xlib
and Xt, making the presence of both supplied-libraries
necessary.
Aside from including the appropriate libraries on the
ADAPATH, nothing special needs to be done in order to
compile applications that use the AXI interface. Compile
source code that contains AXI calls in the same manner as
you would any other Ada source file by invoking the HAPSE
compiler, ada. For example:
ada helloworld.a
compiles the Ada source file helloworld.a which contains a
simple Motif "helloworld" program that utilizes the AXI
bindings. The source for this program is provided in these
release notes.
6.2 Linking
Linking AXI programs does not require any special steps
other than the presence of the appropriate AXI libraries on
the ADAPATH of the target HAPSE library. The AXI interface
internally links in the C libraries required (e.g.,
libX11.a, libXt.a, libXm.a) when applications use any AXI-
specific features that would require these C libraries to be
linked. In order to link any AXI program, invoke the a.ld
prelinker as you would any Ada program. For example, to
link the program helloworld, simply issue the command:
a.ld helloworld
Note that the AXI interface only supports X11R5 versions of
the C libraries and that AXI programs will not link unless
the R5 versions are installed on your system. If R4
versions are installed, attempts to link AXI applications
will probably result in errors due to undefined externals.
AXI version 7.1.1 contains Ada shared objects for each
supplied AXI library. Therefore, Ada programs that utilize
any AXI library may choose to link AXI libraries either
statically or dynamically. For more information regarding
Ada shared objects and shared libraries, refer to the 7.1.1
version of the HAPSE Reference Manual.
- 7 -
CX/UX AXI 7.1.1 Release Notes
6.3 Executing
Executing a program that utilizes the AXI interface only
requires that you run the program on an X Terminal with an
appropriate DISPLAY variable setting.
6.4 Debugging
Ada programs that use the AXI interface may be debugged
using the a.db or optional NightView debuggers just like any
other Ada programs. However, since no source is supplied for
the bodies of the packages that make up the AXI interface,
debugging through any AXI functions and procedures may be
done only at the assembly level. Because most AXI calls
access C libraries, these would have to be debugged at the
assembly level anyway.
Both the a.db and NightView debuggers trap most CX/UX
signals by default, stopping the program being debugged in
the process. Because X programs rely heavily on the use of
SIGIO, neither debugger stops (by default) when the
application being debugged encounters SIGIO. This default
behavior may be modified using the a.db or NightView command
handle. All other CX/UX signals are trapped and handled by
the debugger as documented in the CX/UX HAPSE a.db Debugging
Manual and CX/UX NightView User's Guide.
7. Programming Hints
7.1 Setting and Getting Widget Resources
The X Toolkit and Motif widget-creation convenience
functions expect you to identify widget resources in a
static array. This array is passed as an argument to the
convenience function along with an argument specifying the
number of resources in the list.
For example, the often-used Xt function
CreateManagedWidget() accepts as its arguments: the name of
the widget to create; the class of the widget; the widget's
parent; and, as its last two arguments, an array of resource
pairs and an integer specifying the number of resource pairs
in the array.
When using the AXI bindings, Motif and Xt resources may
easily be constructed by creating argument lists using the
- 8 -
Release Notes 7.1.1 CX/UX AXI
SetArg procedure that is defined in the Xt package. An
argument list that is created using this technique may then
be passed to the Ada version of the convenience function
along with the number of resources defined in the list.
The following Ada code fragments demonstrate how you may
specify a horizontal orientation when creating a simple
Motif RowColumn widget. You first creates an argument list
of widget resources. Then you pass this list as an argument
to the CreateManagedWidget function found in the Xt package.
In this example, only one resource pair is specified in the
list (to specify the orientation of the widget):
with Xt;
with Xm;
with Xmdef;
...
arglist : Xt.arglist(1..1);
rowcol_w, toplevel : Xt.Widget;
...
Xt.SetArg (arglist(1), Xmdef.Norientation, Xt.Argval(Xm.HORIZONTAL));
rowcol_w := Xt.CreateManagedWidget("Row", Xm.RowColumnWidgetClass,
toplevel, arglist, 1);
...
A few things are important to note regarding resource lists:
o The resource list is of the AXI-defined type Xt.arglist
and is an array type. The SetArg procedure may be
called repetitively to set as many resource pairs in
the argument list array as necessary.
o The Motif resource names are defined in the Xmdef
package and parallel the names of the resources as they
appear in the C language header files with a similar
notation. (In this case Norientation appears as it
would in C without the "Xt" or "Xm" prefix that the C
language uses. For Ada, these resource names MUST BE
prefixed by "Xmdef.", UNLESS a "use" clause is given
for this package, as all resource names are defined in
the Xmdef package).
o Constants for resource values are defined within either
the Xt or Xm packages, depending upon whether the value
- 9 -
CX/UX AXI 7.1.1 Release Notes
is an X Toolkit or Motif resource value. The names for
these constants also mimic the C language definitions
in the C header files (Xm.HORIZONTAL in this case
parallels the C value XmHORIZONTAL).
o Resource values may either be simple integer values or
must be converted to the AXI-defined type Xt.Argval as
shown in the preceding example. The SetArg procedure
is overloaded to accept either type as a resource
value.
7.2 Callbacks
Callback routines are an integral part of X Toolkit
programming. To register a callback routine in an Ada
program using Xt or Motif is quite similar to the C
language; however, certain programming techniques should be
used when programming Ada callbacks in order to minimize
errors.
A callback may be registered in Ada by using the AddCallback
procedure found in the Xt package. Its arguments are
similar to the C function XtAddCallback(). Be aware when
programming Ada callbacks that all callback routines must be
defined in library-level packages. Because the Harris
Computer Systems C compiler and the HAPSE Ada compiler use
similar calling conventions, nothing further needs to be
done in order to register an Ada callback routine with the
Xt toolkit. The requirement that Ada callbacks be defined
at the library level eliminates confusion introduced by
uplevel references.
An example of an Ada callback routine and a code fragment
demonstrating how to register the callback are shown below:
--
-- A simple Ada callback routine in a library-level package body.
--
with text_io;
package body callback is
--
procedure call_me (w : in Xt.Widget;
client_data : in Xt.Pointer;
call_data : in Xt.Pointer) is
begin
text_io.put_line ("Callback was called");
- 10 -
Release Notes 7.1.1 CX/UX AXI
end call_me;
--
end callback;
--
-- This callback can then be registered with the X Toolkit
-- for an AXI application where "some_widget" is defined.
--
with callback;
procedure test is
--
...
Xt.AddCallback(some_widget, Xtdef.NactivateCallback,
callback.call_me'address, Xt.XtNULL);
...
--
end test;
Full debugging of Ada callbacks is supported when using
either the a.db or optional NightView symbolic debuggers;
however, traversing the call stack backwards from a callback
routine into C code found within the Xt library can be
debugged only at the assembly level from within the
debugger.
7.3 Ada Tasking in AXI Applications
The AXI bindings support Ada tasking features that make it
easy to integrate X programming with applications that
utilize Ada tasking constructs. Normally, any Ada task (in
the Basic Ada Run-time System) that blocks to wait for input
will block all other tasks, including those which are
runable. AXI contains an internal tasking implementation
whereby all X calls that block to wait for input will block
through an internal event handler mechanism (implemented
using Ada tasking). This mechanism allows all other tasks
in the application to proceed normally without blocking when
another task is blocked in an X call.
Without this internal mechanism, all tasks in a given
application would not be able to execute, even if runable,
when any other task is blocked in an X call. The task that
makes the X call would be blocked in a CX/UX system call
(waiting for input), prohibiting all other tasks from
- 11 -
CX/UX AXI 7.1.1 Release Notes
executing until the blocked task has exited the system call.
This kind of behavior is evident in some Ada/X binding
implementations available from other vendors. The AXI
implementation eliminates this problem for programs linked
with the Basic Ada Run-time.
In ARMS TM 6 applications, Ada tasks are mapped to CX/UX
processes. This implementation does not introduce the
problems outlined above that exist in the Basic Ada Run-
time. It is important to note; however, that only one ARMS
task in a given application can operate on an open
connection to the server. That is, it is not possible to
establish a connection to the server from one ARMS task and
attempt to make X calls on the same connection from another
ARMS task. Because ARMS tasks are implemented as CX/UX
processes, only one ARMS task in an application may perform
X calls, because within the X toolkit, only one connection
to the server per process is allowed.
7.4 Optimizations
The HAPSE compiler supports three levels of optimization.
The details of these levels of optimization are outlined in
the HAPSE Reference Manual. Ada programs that use the AXI
interface may be fully optimized.
Additionally, link-time optimizations may be performed to
enhance execution speed and reduce program size. The a.ld
prelinker supports a selective linking capability that may
reduce the size of a linked Ada program. Other link-time
optimizations are available and may be performed to improve
the execution speed of a program (See a.ld(1)).
AXI imposes no restrictions on using any of the optimization
techniques available while compiling and linking AXI
applications using the HAPSE environment.
__________
6. ARMS is a trademark of Harris Computer Systems
Corporation.
- 12 -
Release Notes 7.1.1 CX/UX AXI
7.5 An Example Motif Program
The following is the source code for a simple Motif program
that uses the AXI bindings. It may be compiled and linked
using the HAPSE compiler as shown in sections 6.1 and 6.2 of
these release notes.
--
-- Make all appropriate AXI packages visible
--
with Xm;
with Xrm;
with Xt;
with Xlib;
procedure helloworld is
--
app_context : Xt.AppContext;
toplevel, label : Xt.Widget;
argv : Xt.stringlist_ptr;
options : Xrm.optiondesclist (1 .. 0);
fallback : string (1 .. 0) := "";
args : Xt.arglist (0 .. 1);
--
begin
--
argv := Xlib.getarguments;
-- Create and initialize the application context
app_context := Xt.createapplicationcontext;
Xt.AppInitialize (app_context, "Hello", options, 0, argv,
fallback, args, 0, toplevel);
-- Create a simple label widget
label := Xm.CreateLabel (toplevel, "Hello_World", args, 0);
Xt.ManageChild (label);
-- Enter the event loop
Xt.RealizeWidget (toplevel);
Xt.AppMainLoop (app_context);
--
end helloworld;
- 13 -
CX/UX AXI 7.1.1 Release Notes
Other sample programs that demonstrate the usage of the AXI
bindings are available from Harris Computer Systems
Corporation. Contact your Harris analyst to obtain a copy of
the sample programs. The sample programs that are available
use the AXI bindings to exercise features in Xlib, Xt and
Motif.
7.6 Programming Pitfalls
Many Xt and Motif references discourage the use of system
calls such as fork(), exec(), and system() because error
conditions that may arise (when using these system calls)
are virtually unrecoverable from an X application's
standpoint. If error recovery is not a critical matter from
the X application's view, then the use of such system calls
may be appropriate, and often useful. For non-ARMS
programs, the use of any such system call is clearly up to
the programmer; however, for ARMS applications, use of these
types of system calls is strictly prohibited. Any ARMS
program that attempts to use any routine that uses the
fork() system call will get an error at link time. The ARMS
"spawn" services may be used as an alternative in ARMS
applications that require the ability to spawn other
processes.
AXI calls were designed to map as closely as possible to the
C language library functions to which they "bind". Ada
typing restrictions sometimes make this task more difficult,
and several AXI-defined Ada types have been defined in order
to make this task a bit easier. Users should always consult
the AXI documentation or refer to the package specifications
in order to choose the most appropriate form of any Xlib,
Xt, or Motif function that they wish to employ. Often
several different Ada interfaces are available (as
overloaded Ada functions and procedures) for a single C
function. If chosen properly, much work can be saved by
avoiding Ada type conversions when programming with the AXI
bindings.
8. Fixes in This Release
This is not the initial release of this product, however,
there are no fixes in this release. AXI version 7.1.1 is
identical to AXI versions 7.1 and 3.0.1, compiled
specifically for use with HAPSE version 7.1.1.
- 14 -
Release Notes 7.1.1 CX/UX AXI
9. Features in This Release
o Full Ada support of Xlib, Xt, and Motif operations on
Harris NightHawk Series 4000 and Series 5000 systems
running HAPSE. The AXI product includes:
o Support for X11, Release 5.
o Support for Motif version 1.1.
o Access to functions in the X Extensible Library.
o Access to functions in the X Miscellaneous
Utilities Library.
o Ada support for the Motif Resource Manager
(including UIL-based applications).
o Support for the STARS interface to the X window
system (Xlib only).
o Support for non-blocking Ada tasking using the
Basic Ada Run-time System.
o A conventional naming scheme which parallels the
original C implementation.
o The supplied libraries are built with full DWARF
debug information, so that they may be debugged
using the optional NightView debugger.
o AXI is integrated with the HAPSE environment to take
advantage of the latest real-time Ada optimization and
performance features including:
o The HAPSE Ada compiler's CCG (common code
generator) optimizer that performs state-of-the-
art optimizations of Ada applications. Ada X
applications may be fully optimized for maximum
performance.
o The HAPSE prelinker's selective linking capability
that is capable of removing unused routines that
would normally be linked into Ada applications.
o The flexibility of choosing between the ARMS and
Basic Ada Run-time Systems when linking AXI
applications. Each has its own advantages and
disadvantages for Ada tasking and memory pool
- 15 -
CX/UX AXI 7.1.1 Release Notes
configuration.
o A variety of real-time features and packages
provided with the HAPSE programming environment.
o A complete set of Ada bindings to standard UNIXO7
(CX/UX) utilities. (Note: The POSIX 1003.5
product must be obtained separately from HAPSE.)
10. Known Problems with AXI 7.1.1
Problems with AXI version 7.1.1 included in the following
list will be addressed in patches to version 7.1.1 or will
be corrected in later versions of AXI. Full functionality
of the STARS binding to the Xt toolkit will provided in a
future release.
o The 7.1.1 version of AXI does not support Motif version
1.2.
o The STARS Xt implementation is not complete. The STARS
bindings should be used only for programming at the
Xlib level.
o Ada applications that use the Motif Resource Manager
may not correctly reference .uid files created by the
uil compiler.
o The HAPSE selective linker will not remove dead code
from C language libraries. Only dead code from Ada
libraries is subject to removal from linked
executables.
__________
7. UNIX is a registered trademark licensed exclusively by
the X/Open Company Ltd.
- 16 -
Release Notes 7.1.1 CX/UX AXI
11. Direct Software Support
Software support is available from a central source. When
you need assistance or information about your system, please
contact the Harris Software Support Center at our toll free
number (800-245-6453). Our customers outside the
continental United States can contact us directly at 305-
971-6248. The Software Support Center operates Monday
through Friday from 8 a.m. to 7 p.m., Eastern Standard time.
Calling the Software Support Center gives you immediate
access to a broad range of skilled personnel and guarantees
you a prompt response from the person most qualified to
assist you. If you have a question requiring on-site
assistance or consultation, the Software Support Center
staff will arrange for a field analyst to return your call
and schedule a visit.
Harris provides a Software Action Request (SAR) form which
our customers can fill out and submit to their local field
analyst or the Software Support Center. This procedure
ensures that your request is entered into our SAR database
for follow-up and action.
To obtain copies of SAR forms, call the Software Support
Center and request form number CSD1833B.
- 17 -
CONTENTS
1. Introduction............................................ 1
2. Documentation........................................... 3
3. Prerequisites........................................... 3
3.1 Hardware........................................... 3
3.2 Software........................................... 3
4. Cautions................................................ 4
5. Installation............................................ 4
6. Using the AXI Bindings.................................. 6
6.1 Compilation........................................ 6
6.2 Linking............................................ 7
6.3 Executing.......................................... 8
6.4 Debugging.......................................... 8
7. Programming Hints....................................... 8
7.1 Setting and Getting Widget Resources............... 8
7.2 Callbacks.......................................... 10
7.3 Ada Tasking in AXI Applications.................... 11
7.4 Optimizations...................................... 12
7.5 An Example Motif Program........................... 13
7.6 Programming Pitfalls............................... 14
8. Fixes in This Release................................... 14
9. Features in This Release................................ 15
10. Known Problems with AXI 7.1.1........................... 16
11. Direct Software Support................................. 17
- i -
_________________________________________________________________
HARRIS
COMPUTER SYSTEMS
_________________________________________________________________
CX/UX AXI
VERSION 7.1.1
RELEASE NOTES
0890418-7.1.1
October 1994
_________________________________________________________________
return to index
================================================================================
CX/UX AXI -
VERSION 6.2
RELEASE NOTES
Harris Computer Systems Division
1. Introduction
The Ada X Interface (AXI)1 is an abstract Ada binding to the
X2 Library (Xlib), the X Toolkit (Xt) and Motif3 (Xm).
Using this interface, applications written in Ada may take
full advantage of the X library, the X Toolkit, and Motif.
Installation of this software assumes that the actual C
libraries to which the AXI product "binds" is present on the
system. This product also assumes that the Harris Ada
Programming Support Environment (HAPSE)4 is installed. The
specifics of these requirements are outlined later in this
document.
The documentation contained with this product assumes that
users are familiar with X and programming with X. It also
assumes a working knowledge of the Ada language and the
HAPSE environment. The documentation provided with the AXI
product does not substitute documentation about X, Motif,
HAPSE, or the Ada language.
__________
- These release notes cover the following products:
axi_88k
1. AXI is a trademark of Advanced Technology Center.
2. X is a registered trademark of the Massachusetts
Institute of Technology.
3. Motif is a trademark of the Open Software Foundation,
Inc.
4. HAPSE is a registered trademark of Harris Computer
Systems Division.
- 1 -
CX/UX AXI 6.2 Release Notes
The AXI documentation contains the specifications that
comprise the Ada X Interface. No Ada source modules for the
package bodies that make up the AXI interface are shipped
with the AXI product; however, source for the package
specifications are available. These source files may be
useful as a point of reference in addition to the AXI
manual.
- 2 -
Release Notes 6.2 CX/UX AXI
2. Documentation
The following documentation is included with this release:
_____________________________________
| Manual Name Pub. Number|
|______________________|_____________|
| AXI Reference Manual | 0890418-000|
| AXI 6.2 Release Notes| 0890418-6.2|
|______________________|_____________|
Additional copies may be ordered by contacting the Harris
Software Support Center. The toll-free number is 1-800-
245-6453. For calls outside the continental United States
the number is 1-305-971-6248.
3. Prerequisites
Prerequisites for CX/UX AXI Version 6.2 are as follows:
3.1 Hardware
o Any Harris Series-4000 or Series-5000 system
o 32MB physical memory (minimum configuration)
o Total of 8MB physical memory per AXI user
o An X Terminal
3.2 Software
o CX/UX 6.2 or CX/RT 6.2.
o HAPSE version 6.2 installed.
o X Window System Version 11, Release 5 (X11R5).
- 3 -
CX/UX AXI 6.2 Release Notes
4. Cautions
AXI version 6.2 supports only systems that are running X11R5
and HAPSE v6.2. Any system running CX/UX 6.2 or higher
should be running X11R5; however, it may be possible that a
system running CX/UX 6.2 is only running X11R4. In order to
use the AXI bindings, X11R5 must be installed.
In order to figure out which version of the X Window System
your system is running, use the xdpyinfo(1) command.
No Ada package body source files are shipped with the AXI
product; therefore, it is not possible to debug Ada programs
through X library calls at the source level. The a.db
debugger may still be used to debug Ada programs; however,
stepping into any calls within the AXI bindings may be
debugged only at the assembly level.
The 6.2 release of AXI is identical to the 3.0.1 release of
AXI, but is compiled for use with HAPSE v6.2.
5. Installation
The installation tape is in cpio format. It contains the
source for all AXI package specifications as well as the
pre-compiled versions of the package specifications and
bodies.
To install CX/UX AXI, follow these steps:
o Sign on as root, or use the "su" program to become
root.
o CX/UX AXI should be installed after the HAPSE product
has been installed. It is intended that this product
be installed under the root partition, since its
default placement is under
"usr/hapse_88k_6.2/bindings", and because the HAPSE
product is usually read from tape at the root
directory.
o IT IS REQUIRED THAT AXI BE INSTALLED FROM THE SAME
LOCATION AS THE HAPSE PRODUCT!. If the hapse_88k6.2
product was read from some location other than the root
directory, then the AXI product must also be read in
from that same location.
- 4 -
Release Notes 6.2 CX/UX AXI
o Execute "cd /" to position yourself under the root
directory.
o Mount the CX/UX AXI installation tape.
o Issue the command "cpio -iBcvdum < /dev/rmt/0mn" to
read in the first two files setup and tape_list (Note:
the installation tape is assumed to be loaded on drive
0.)
o Issue the command "./setup" to run a menu-driven
program that installs the new CX/UX AXI product.
o The setup program displays a prompt similar to: "Enter
the name of the running kernel or if /unix".
Press the carriage return key. The following message
is displayed: "Non-generic boot. Assuming System
Generation not to be done."
o The next message displayed is: "Reel 1 of the product
tape(s) must be loaded on device /dev/rmt/0mn. Is this
the case? (y|n)". Type "y".
o Expect a pause, then a menu will prompt: "Enter the
numbers of the actions you would like to perform."
Select the number corresponding to "All".
o You will see a message similar to: "Loading object
files" as files come onto the system under the
directories usr/hapse_88k_6.2/bindings.
o When the menu returns, select "Exit", and remove the
tape from the drive.
o Installation is now complete.
6. Using the AXI Bindings
Once installed, the AXI bindings may be used in Ada
applications. This section describes the steps required in
order to compile, link, execute, and debug programs that use
the AXI bindings.
- 5 -
CX/UX AXI 6.2 Release Notes
6.1 Compilation
In order to compile applications that reference any part of
the AXI bindings (e.g., Xlib, Xt, Motif), a user must first
include the appropriate library pathname(s) on the ADAPATH
search list in the HAPSE library where the application is to
be compiled.
Assuming that the HAPSE installation we are using is
installed in what we will refer to as $hapse_location, then
it is necessary to include either one or both of the
following HAPSE libraries on the ADAPATH:
$hapse_location/bindings/xlibxt
$hapse_location/bindings/motif
The first is necessary for all programs that use the Xlib
and/or Xt interfaces. If these are used exclusively, then
this is the only additional library required on a HAPSE
library's ADAPATH. If Motif is also to be used, then both
libraries shown above must be included on the library path.
The HAPSE library tool a.path recognizes the AXI library
directory names as keywords (regardless of the value of
$hapse_location); therefore, it is possible to configure a
HAPSE library to reference the Xlib and Xt interface by
typing the following command:
a.path -A xlibxt
If Motif will be used, then the additional command should
also be issued:
a.path -A motif
Note that for applications that utilize the Motif interface,
both supplied libraries must be included on the ADAPATH in
the library where compilations will be performed. The
Motif-specific library path is not sufficient for Ada Motif
applications as the Motif interface depends upon both Xlib
and Xt, making the presence of both supplied-libraries
necessary.
Aside from including the appropriate library(ies) on the
ADAPATH, nothing special needs to be done in order to
compile applications that use the AXI interface. A user can
compile source code that contains AXI calls in the same
- 6 -
Release Notes 6.2 CX/UX AXI
manner as he would any other Ada source file by invoking the
HAPSE compiler, ada. For example:
ada helloworld.a
compiles the Ada source file helloworld.a which contains a
simple Motif "helloworld" program that utilizes the AXI
bindings. The source for this program is provided in these
release notes.
6.2 Linking
Linking AXI programs does not require any special steps
other than the presence of the appropriate AXI library(ies)
on the ADAPATH of the target HAPSE library. The AXI
interface internally links in the C libraries required
(e.g., libX11.a, libXt.a, libXm.a) when applications use any
AXI-specific features that would require these C libraries
to be linked. In order to link any AXI program, a user must
only invoke the a.ld prelinker as he would any Ada program.
For example, to link the program helloworld, simply issue
the command:
a.ld helloworld
Note that the AXI interface only supports X11R5 versions of
the C libraries and that AXI programs will not link unless
the R5 versions are installed on your system. If R4
versions are installed, attempts to link AXI applications
will most likely result in errors due to undefined
externals.
6.3 Executing
Executing a program that utilizes the AXI interface only
requires that the user will be running the program on an X
terminal with an appropriate DISPLAY variable setting.
6.4 Debugging
Ada programs that use the AXI interface may be debugged
using the a.db debugger just like any other Ada program.
However, since no source is supplied for the bodies of t