Difference between revisions of "PowerAda: Release Notes"

From OC Systems Wiki!
Jump to: navigation, search
imported>WikiVisor
 
(Replaced content with "<span id="HEADING299"></span><span id="LINK-release.frm-firstpage"></span><span id="HEADING299-0"></span> Release notes for current versions of OCS products are ava...")
(Tag: Replaced)
 
Line 1: Line 1:
 
<span id="HEADING299"></span><span id="LINK-release.frm-firstpage"></span><span id="HEADING299-0"></span>
 
<span id="HEADING299"></span><span id="LINK-release.frm-firstpage"></span><span id="HEADING299-0"></span>
 
 
These Release Notes contain information relevant to Version 5.4e of the OCS PowerAda Compilation System, supplementing the PowerAda User's Guide.
+
Release notes for current versions of OCS products are available at http://docs.ocsystems.com/w/index.php/OCS_Downloads.  Login credentials are required to access downloads, contact [mailto:support@ocsystems.com Contact OC Systems] for assistance.
  
== 1. Introduction ==
+
A complete list of available release notes for earlier versions can be obtained via [http://docs.ocsystems.com/w/index.php?search=release+notes&go=Go this search link].
Version 5.5 of the PowerAda Compilation System is a bug-fix update to version 5.4e of the PowerAda development tools from OC Systems. These notes identify the differences between this version and version 5.4e.
 
 
 
== 2. Getting Help ==
 
If you have any comments, would like additional information, need a different media format, or you have any other installation or configuration problems, please contact OC Systems by internet at [mailto:support@ocsystems.com support -at -ocsystems.com] or by telephone at (703)-359-8160.
 
 
 
== 3. Requirements ==
 
System Requirements for each of the three PowerAda hosts are: For PowerAda/AIX: any computer running AIX version 4.2 or later (including AIX version 5.3) For PowerAda/Linux: any modern Intel Pentium-based computer running Red Hat Linux 8 or later (with a version 2.4.18 kernel or later) Contact OC Systems for help installing PowerAda on versions or platforms other than these. Typically, 500 Megabytes of disk space are required for installation of PowerAda on any of the host platforms. The file (README) contains more detailed notes on requirements. Please refer to this before installing the PowerAda product on any supported host.
 
 
 
== 4. Licensing ==
 
PowerAda 5.5 works with the software product FLEXlm. PowerAda 5.5 for AIX does not require a new license if you already have a valid license for PowerAda 4.1 or newer for AIX. PowerAda 5.5 for Linux may require a new license be issued. Contact support@ocsystems.com if you have not received a license key specifically for PowerAda 5.3 (or newer). The license keys for AIX are different from those for Linux, as the products are sold separately. See the PowerAda 5.5 Installation Guide for more information about setting up the license manager.
 
 
 
== 5. Compatibility ==
 
On both AIX and Linux Linux, PowerAda 5.5 is source-code compatible with PowerAda 5.2, 5.3, and 5.4. But the runtime libraries have been recompiled in each version. Furthermore, the internal data structures inside of a sublibrary changed in version 5.4. A complete recompilation of your source code is recommended, but is not required in all cases. It is not required if you are currently using PowerAda 5.4 or newer, but it is required if you are using an older version. Some source code changes may be required when recompiling programs currently working with PowerAda version 4.3 or earlier. Projects created using earlier versions of PowerAda cannot be opened using PowerAda 5.5. Note that future versions of PowerAda 5 may not support AIX 4. PowerAda 5.5 will continue to be supported as the LegacyAda version of PowerAda for use on AIX 4 operating systems.
 
 
 
== 6. Limitations and Unimplemented Features ==
 
If you encounter any problem, or have any suggestions for improvement or enhancement, please contact OC Systems at [mailto:support@ocsystems.com support -at- ocsystems.com]. We can't fix what we don't know about. See APPENDIX C, "Implementation Characteristics" (corresponding to Annex M of the Ada95 Reference Manual) for a detailed description of which optional portions of the language have been implemented. PowerAda/Linux does not do any stack overflow checking, and so it will dump core on insufficient stack space rather than raise STORAGE_ERROR. The user should make sure that all task stacks are given sufficient storage to execute.
 
 
 
== 7. Customer-Reported Defects Fixed ==
 
Below are problems which were found at customer sites and have been fixed in this release. If you have reported a problem and do not see it on this list, please contact OC Systems as described
 
above to check on the status of your problem.
 
<syntaxhighlight>
 
    446 PA stack frames should be dbx-compatible
 
    931 Ada shared library elaboration problems
 
    1205 Setup file not properly constructed during installation
 
    1208 XCOFF n_type must be 0x20 for Ada subp symbols to avoid "strip -t"
 
    1228 PA5: port to Fedora Core 5
 
    1241 Deliver files_in_baseline script
 
    1255 PA5: xmlpcm0 fails packed comparison
 
    1260 PA5: runtime tdcallsupb: Csect_Info wrong for new ESV
 
    1266 PA5: AIX runtime must tolerate TBT+ESV or just ESV, for Aprobe's ESV
 
    1267 PA5: allow xas.define_symbol for s_class other than 'ua'
 
    1271 PA5: dbx internal error: assertion failed at line 3519 in file frame.c
 
    1276 PA5: deliver astub with PowerAda
 
    1293 PA5: Not all regs saved/restored by exported Ada routine
 
    1294 PA5: utb hangs on spin-lock using yield()
 
    1295 PA5: crash in aprojbuild -p
 
    1301 PA5: simplify/extend shared lib support
 
    1302 PA5: build & deliver libada_r.a with powerada
 
    1327 PA5: adbg crash during initialization
 
    1340 PA5: BT'Class'Output doesn't dispatch to derived type
 
    1341 PA5: utb_Traceback missing line numbers for soft-linked modules
 
    1346 PA5: generate, check intersection of two .ail files
 
</syntaxhighlight>
 
=== PowerAda 5.4e ===
 
<syntaxhighlight>
 
    269 PA5: rep. spec'd enum for index causes array '=' failure
 
    911 PA5 bad unchecked conversion array_element <-> byte
 
    999 delay until ada.real_time.time_of(49 years) silently fails
 
    1001 PA5: DDA.Size for an Array_Component should be aligned size
 
    1028 problems with task entry renaming-as-body
 
    1036 compiler accepts actual proc name as generic formal
 
    1058 aprojbuild: bad comporder for 2 units in file
 
    1063 PA5: library level pragma rejects legal generic child unit name
 
    1092 aprojbuild: incorrect order for units with pragma inline 
 
    1095 make aprojbuild work w/o projects
 
    1096 aprojbuild -U should build instance subunits
 
    1099 aprojbuild should defer, identify independent units
 
    1102 PA5: CG crash: bad LF for tagged function call
 
    1104 implement libq.independent_units function
 
    1106 PA5: FE rejects legal type extn in spec as 'not in same body'
 
    1111 Linux pagrep broken on RHEL4
 
    1118 PA5: aprojbuild: incorrect order for units w/ pragma inline (f/u 1092)
 
    1119 aprojbuild translates -qinstances=inline to =defer
 
    1122 PA5: 5.4d regression = fail MP seq sanity check
 
    1124 bad code in package elab built with opt
 
    1126 areport outside proj: use adalib.imports if no alib.list
 
    1127 aprojbuild should only compile pending units from working sublib
 
    1129 ada -qxlcbind should reference /usr/vacpp/bin/xlC
 
    1131 PA5: fix regression caused by issue 1104 changes
 
    1132 PA5: aprojbuild dies w/o warning when command line too long
 
    1133 subunits vs. independent_units
 
    1134 aprojbuild should get read-lock to determine update list
 
    1136 aprojbuild w/o project rejects files outside of current dir
 
    1137 PA5: generic instance rel incorrectly added to optional body
 
    1142 PA5: CG INTERNAL ERROR in adn_impl
 
    1143 PA5: Glink code cannot be added for function: _ptrgl
 
    1147 PA5: FE can't find generic instance subunit body (f/u to d14557)
 
    1160 aprojbuild won't recompile obsolete units
 
    1161 enhance build_shared to limit exported symbols
 
    1163 create stub generation tool
 
    1169 Adbgentry crashes on RHEL3 u3
 
    1172 aprojbuild always forces recompile if -qfloat_overflows
 
    1176 PA5: patch 5.4d.2 was built w/ wrong system sublib (f/u 1001)
 
    1178 PA5: Linux should reject/ignore -qfloat_overflows
 
    1179 PA5: Linux alibmv command-line parsing broken
 
    1185 PA5: CG crash if expanded array object assigned (f/u 911)
 
    1186 astub -g shouldn't generate generic unit stubs
 
    1198 PA5: abuild crashes during bind, while getting Prj.Current_Project
 
</syntaxhighlight>
 
=== PowerAda 5.4d ===
 
<syntaxhighlight>
 
    442 PA5: support cross-language tracebacks
 
    514 warn if multiple powerada libs in single apc command [PowerAda]
 
    571 PA5: Build_Overload_Set raise PROGRAM_ERROR if illegal child name
 
    572 PA5: get_dispatching_spec crash: inc_type'class full type in body
 
    596 PA5: excessive time to compile code if -qinstances=defer
 
    603 PA5: Abuild infinitely redo inst subunits if circular dependency
 
    701 order of ada probes causes 'no debug available'
 
    741 PA5: Adaentry cores in call_splitter.parameter_creation
 
    769 PA5 instance subunits ==> 'Lines compiled: 1' (i.641 regression)
 
    770 PA5: 8th floating point param is passed wrongly
 
    798 PA5: FE resolve_operator crash in (Float_Constant * Integer)
 
    801 Linux: handle slightly different /proc/PID/maps file
 
    802 Linux x86_64: specify -m32 when linking
 
    803 Linux: adbg doesn't work on diners
 
    804 Linux: pthread_cond_init overwrites data past MSR
 
    806 PA5: NO_ATTACHED_MPST in nested child instances [partial fix]
 
    807 PA5: MP crash if non-static T'Component_Size
 
    808 PA5: NO_ATTACHED_MPST in re_entity aggregate_eval
 
    812 AIX abinchk should work on shared object in archive
 
    813 PA5: Cannot do areport -r supporters -u inst/whatever
 
    817 AIX: PA-generated toc entries 8-byte aligned, wasting space
 
    828 PA5: Vsm.Reference_Error IN-OUT discriminated record conversion
 
    831 PA5: Task discriminants missing in ASIS
 
    834 PA5: ASIS fails for A_DEFINING_EXPANDED_NAME of child unit
 
    857 CG crash in make_move on put_line of 'Image
 
    873 interface-C boolean stack params loaded wrongly
 
    874 [IN]OUT float params on exported subprogram don't work
 
    880 PA5: trap handler should handle non-Ada traps differently
 
    890 PA5: Dynamic dispatch coredumps
 
    893 PA5 FE traceback instantiating Ifpa_Generic_State_Data_Server
 
    906 apc chokes on inst of BC hash_table
 
    913 PA5: public child subprogram cannot see parent's private part
 
    939 PA5: Generic child name implied within Formal_Package_With_Box
 
    947 PA5: Float'Machine_Overflows = FALSE, so no divide by 0 exception
 
    954 pop_stack_and_call_ada doesn't work for shared library
 
    962 PA5: array init R/W reaches beyond array boundary
 
    968 Ada.Strings.Bounded implementation yields bad equality test
 
    971 PA5: cross-dependent instances fail unless -qinstances=defer
 
    988 AIX: add help function to get app RA,SP from current SP
 
    994 include universal_traceback in runtime
 
    995 add symbol info to universal_traceback
 
    1015 PA5: coding errors in libq:compilation_order
 
    1017 PA5: abuild should ignore inst/ units
 
    1022 PA5: Memory leak copying controlled objects
 
    1025 PA5: Booch stack works wrongly for controlled item type
 
    1029 incorrect layout of dynamically-sized type [PowerAda]
 
    1040 universal_traceback (utb) is not thread-safe
 
    1047 apc NO_BIND_INFO crash reading C++ main Ada modules [PowerAda]
 
    1054 PA5: RM95 4.6:46 range checks missing in DT conversions
 
    1057 PA5: Adbggui crash on Browse Unit of C-main 'adn' driver
 
    1073 PA5: Build_Overload_Set PROGRAM_ERROR if illegal child name (was i.571)
 
    1074 PA5 instance subunits ==> 'Lines compiled: 1' (was i.769)
 
    1092 aprojbuild: incorrect order for units with pragma inline
 
</syntaxhighlight>
 
=== PowerAda 5.4b1 ===
 
<syntaxhighlight>
 
    798 - FE resolve_operator crash in (Float_Constant * Integer)
 
    890 - Dynamic dispatch coredumps
 
    939 - Generic child name implied within Formal_Package_With_Box
 
    956 - Update tools to version 5.4b1
 
</syntaxhighlight>
 
=== PowerAda 5.4b ===
 
<syntaxhighlight>
 
    133 - FlexLM: create a new lm_job after queueing license
 
    472 - Incorporate tag comparison into dispatching equals test
 
    510 - Exception raised with "ada -P" option (partially deleted src subspace)
 
    512 - ASIS.Dec.Representation_Value_Image of rep'd enum yields 'Pos not 'Val
 
    576 - MP crash in tagged type extension aggregate inside of instantiation
 
    583 - CG Null Access Check in ctenvb.Param_Block_Size
 
    628 - Can't reinstantiate instance subunit if "ada -P" and no disk file
 
    641 - FE compiling an instance subunit uses wrong source span (see i.545)
 
    643 - Pacm.pl checkout doesn't create directories
 
    644 - FE allows an illegal Qualified_Expr to resolve
 
    654 - MP crash if pragma INLINE is applied to a renamed Derived_Spec
 
    661 - MP crash in Acc_Subp_Entity.Object applied to a renamed object
 
    686 - adbg yields wrong object value if exe was bound with -qxlcbind vs. ld
 
    694 - apcgen/AdaDI infinite recursion on recursive record type
 
    746 - ada can't handle +unit names as non-file names
 
    747 - Update tools to version 5.4b
 
    749 - 'ada -P' renders ASIS incapable of source text (f15250)
 
</syntaxhighlight>
 
=== PowerAda 5.4a ===
 
<syntaxhighlight>
 
    79 - FE crash: instantiation needs missing template body
 
    416 - MP crash with generics and -qinstances=defer (booch)
 
    455 - FE crash in CXB.Open_Subunit when finding spec of body_stub
 
    459 - PA5: All access to tagged types need finalization
 
    496 - PA5: -qinstances=defer vs. =inline -- Want different warning msgs
 
    545 - FE crashes when compiling an instance subunit w/ bad span
 
    582 - MP crash if UFC call is library level instance actual param
 
    586 - a2ps.tar is missing
 
</syntaxhighlight> 
 
=== PowerAda 5.4 ===
 
<syntaxhighlight>
 
    77 - MP traceback (re_support:is_static_unconstrained) in func return stmt
 
    165 - CG optimizer omits required overflow constraint check
 
    181 - CG crash when -O (optimized) subtype of Positive with 0 as low bound
 
    229 - MP crash w/Component_Size rep. clause on array of 3-bit records
 
    239 - CG crash when PPC instruction's immediate offset exceeds 16 bits
 
    352 - ASIS doesn't yield Selected_Name for 'WITH A.B' of child unit
 
    356 - Executables linked on AIX 5.3 dump core (IBM pthread priority chg)
 
    385 - FE crashes for concatenation of hidden #& operator
 
    398 - Tagged type extension overlooks illegal discriminant defaults
 
</syntaxhighlight>
 
=== PowerAda 5.3e ===
 
<syntaxhighlight>
 
    77 - MP traceback (re_support:is_static_unconstrained) in func return stmt
 
    165 - CG optimizer omits required overflow constraint check
 
    181 - CG crash when -O (optimized) subtype of Positive with 0 as low bound
 
    229 - MP crash w/Component_Size rep. clause on array of 3-bit records
 
    239 - CG crash when PPC instruction's immediate offset exceeds 16 bits
 
</syntaxhighlight>
 
=== PowerAda 5.3d ===
 
<syntaxhighlight>
 
    8709  STND: map implicit spec to body
 
    9270  ASIS: Acu.Unit_Origin should be more accurate
 
    14938 ASIS: Is_Part_Of_Instance() wrong for instantiations
 
    15284 powerada packed bool array handled as not-packed
 
    15302 ASIS fails to traverse prefix of subprogram/entry call
 
    15304 ASIS - exception from asis.declarations:corresponding_base_entity
 
    15351 PA5 crashes on anonymous array subtype w/ DDC
 
    15361 DDA doesn't work for negative discriminant
 
    15365 DDA.Extensions.Small_Value fails for Derived type
 
    15402 problems with A_PRIVATE_EXTENSION_DECLARATION
 
    23    d15727 PA5: caller xmlvcm1 on PPC uses trashed R3,R4 after call
 
    26    PA5: debugger traceback querying array, then confusion reins
 
    31    PA5: debugger crashes Heap memory exhausted. (f/u 15505)
 
    36    Apcentry: produces bad APC type for Message_Type.
 
    55    debugger can't select loop parameter bounds (was CMVC d8905)
 
    56    Make Razor default cm in build_it2
 
    69    PA 5.3 on AIX makes bad string or I'Image yields STORAGE_ERROR
 
    97    PA5: Inlined function loses low 3 bits of 11-bit field
 
    98    d15352 PA5: 2nd call to same inlined proc gave bad result
 
    100  d12268 PA5: global optimizer bug in short circuit condition
 
    102  d15649 PA5: Asis.DD.Array_Components fails with derived_type
 
    103  d15625 PA5: ASIS treats 'RANGE as Simple_Expression_Range
 
    104  d15624 PA5: Asis.Data_Decomposition.Size was not implemented
 
    105  d15623 PA5: MP crash if index constraint in DDC has 'RANGE attribute
 
    117  PA5: MP crash on derived packed array type decln
 
    118  Add AXI bindings to standard build
 
    121  exports list created by gen_exp_list should include adainitargs
 
</syntaxhighlight>
 
=== PowerAda 5.3c ===
 
<syntaxhighlight>
 
    15647 minor defects when compiling with -O
 
    15630 PA/Linux: adbg support for type2 subprogs slow
 
    15617 crash compiling siu_util_socket_stream.adb with -O
 
    15612 PA5: type1 entry/exit sequence bad if quad-wrord align applied
 
    15609 PA/Linux: zero use_count error in cctt opt build
 
    15602 PA5 bad Long_Float->Float conversion if no memory store
 
    15555 PA/Linux: extend reg tracking with probable regs
 
    15468 PA/Linux386: try to keep loop_vars from overwriting
 
    15460 PA/Linux: swap operands to avoid spills
 
    15447 PA/Linux: register tracking for case_jump broken
 
    15442 PA/Linux: translation creates false noops for division op
 
    15441 PA5: cg opt regressions: %ECX not saved during type2 subp entry
 
    15435 PA/Linux: adbg support for type2 subprogs on IA32
 
    15424 IA32: use last_reg and minor optmz for loops
 
    15291 adbgdis.linux won't build properly from build_it2
 
    15284 powerada packed bool array handled as not-packed
 
    15094 dispatching call to 'size should return value in bits not bytes
 
    14856 PA_LINUX: optimize subprogram entry/exit sequences
 
    621  MP traceback - storage_size on pointer to private type
 
    15313 PA/Linux: bblk on_entry/on_exit for IA32
 
    15329 PA/Linux IA32: extend remove_extra_spills
 
    15295 PA/Linux optimization: avoid spills that may be saved in regs
 
    15340 PA/Linux: optimize stack pointer manipulations
 
    15364 PA/Linux: use diff. instructions for optimization
 
    15615 crash compiling subprogram_value'access with -O
 
    15611 crash compiling Type_Cvt(X)'Length with -O
 
    15585 Update_CM_Info broken for PA53/Linux/Razor
 
    15557 PA/LinuxIA32: unsigned division for longs broken
 
    15475 PA/Linux: minor cleanup after reviews
 
    15453 PA/LinuxIA32: emit phase doesn't handle no_ops
 
    15367 PA5: IA32 optimizer crashes when Do_Konstant_Binary overflows
 
    15363 PA/Linux: optimize multiplication by a constant
 
    15249 PA/Linux: debugger breaks on some exceptions in tasks
 
    14824 PA_LINUX: computes static byte offset in 2 instrs (slow)
 
    15675 powerada should not specify LM_DUP_DISP
 
    15679 PA5: add debugger into suite of boostrap hoster tools
 
    15680 PA5: self-host crash, array index is 16-bit, but mult is 32 bit
 
    15676 aprojflatten -R is totally broken
 
    15658 pa_tools ediff broken by faulty emacs-switcher.sh
 
    15685 PA5: c34005m crash computing array index (treats BYTE as LONG)
 
    15696 PA/LinuxIA32: make inline more aggressive
 
    15700 PA/Linux: Adaentry may crash in close_master_scope
 
    15652 PA5 To_Unsigned_Byte( Signed_Long ) fails to raise C_Err
 
    15712 create a new lm_job after queueing license
 
    15719 bad conditional spill </syntaxhighlight>
 

Latest revision as of 11:37, 31 May 2020

Release notes for current versions of OCS products are available at http://docs.ocsystems.com/w/index.php/OCS_Downloads. Login credentials are required to access downloads, contact Contact OC Systems for assistance.

A complete list of available release notes for earlier versions can be obtained via this search link.