libX11.so
is supplied as a DSO. The correct
version matching X11R5 is libX11.so.2
.
The correct version matching X11R4 is libX11.so.1
. The X Toolkit, libXt, is supplied as a static archive. Existing test technology is not available to insure that each vendor's implementation of libXt as a DSO is functionally equivalent, thus linking is to be done with the libXt static archive on the Reference Platform.
How much of X11 is supported by the ABI?
The X Consortium standard represented by libX11
is fully supported.
The X Toolkit (libXt
) is also supported. Other "standard"
X11 libraries, such as libXaw
, libXmu
, and
libXext
, may be present on the Reference Platform
as static archives, but are not officially supported. Portions of
the X11R5 sample implementation which represent X Consortium
"works in progress" may work but are not guaranteed to be supported.
PEX is not covered by the ABI.
Which version of OSF/Motif is supported?
Version 1.0 of the Conformance Guide calls for support for Motif 1.1.
Version 1.1 of the Conformance Guide updates this to Motif 1.2.
The question of staying compatible across official patches
to these major releases, and still addressing critical bugs,
has proven to be a thorny issue. At this time, Conformance Guide 1.1 compliant
platforms are expected to run Motif 1.2.3 plus some known fixes.
1.0 compliant platforms run Motif 1.1.3.
How much of OSF/Motif is supported by the ABI?
The entire Motif 1.2 library (libXm
) is supported.
Other Motif libraries may be present on the Reference Platform
as static archives, but are not guaranteed to be supported.
The Resource Manager (libMrm
) and User Interface
compiler (uil
and libuil
are not supplied on the Reference Platform as part of the
ABI Development Environment.
sysinfo
facility,
but multi-threading and synchronization primitives for
an MP environment are not covered by the ABI, and thus
cannot be utilized by compliant programs. This is a
subject for ongoing work by the MIPS ABI group.
Does the ABI apply to secure UNIX?
Normal (non-trusted) apps will run without changes. If an
application knows that the system is secure and acts on it,
it will not be considered ABI compliant. However, this
does not mean that the same application running at different
levels of security is necessarily non-ABI compliant.
What graphics extensions are supported?
The MIPS ABI group is considering specifying OpenGL as an optional
component of the ABI in a future version of the Conformance Guide.
Where present, implementations will be binary compatible.
OpenGL provides a portable, device independent 3D graphics
implementation.
Additional X11 libraries will be considered for standardization. The ABI will continue to track X11 releases from the X Consortium as appropriate; a statement on X11R6 will be forthcoming.
Is asynchronous I/O supported?
Asynchronous I/O will be introduced as a required
interface with version 1.2 of the Conformance Guide.
The interface follows the async I/O sections from
POSIX 1003.1b.
What if the Global Offest Table is too small?
The Global Offset Table (GOT) is limited to 16,384 external
references. In some circumstances, this has proven to be
too small. The MIPS ABI Group has agreed to a specification
for an expanded GOT for the 1.2 Conformance Guide. An ABI conforming
application can not use expanded GOT facilities, even if available
on the Reference Platform, and still be compliant with the
1.1 revision of the Conformance Guide.
Alternative solutions are to modify the application to use fewer
global symbols, or if the application uses its' own static
archives, to turn some of those into DSOs, since each DSO
has its' own GOT. The elfdump
program on the Reference
Platform can provide insight into the current size of GOTs.
How can I take advantage of newer processor instruction sets?
Machines supporting the MIPS ABI range in size from laptop computers to
large datacenter machines, come in multiprocessor configurations,
offer fault tolerance, real-time capabilities, etc. The MIPS
processor family includes members from the R2000 up through
forthcoming high-end processors with a wide performance range.
In order to support this range, the current ABI is pegged to a common
denominator, the MIPS I instruction set architecture. The MIPS ABI
group is considering extensions to take advantage of newer processor
architectures as a future direction. For most applications,
use of the MIPS I instruction set does not provide a significant
performance penalty.
Is there an ABI C++? FORTRAN? Other languages
The MIPS ABI group recognizes that there are significant bodies
of applications code which are not written in C, but which still
could benefit from binary compatibility. The group's intention
is to continue work to define standard binary compatible interfaces
for FORTRAN, C++, and other languages as demand warrants.
Some efforts along these line are in progress in future versions of gABI.
At the present time, only the C interfaces defined by the ABI
are supported on all platforms.
v1.5 L/M 6/15/94