PowerAda: Release Notes

From OC Systems Wiki!
Jump to: navigation, search

These Release Notes contain information relevant to Version 5.4e of the OCS PowerAda Compilation System, supplementing the PowerAda User's Guide.

1. Introduction

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 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 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.

     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

PowerAda 5.4e

     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

PowerAda 5.4d

    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

PowerAda 5.4b1

    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

PowerAda 5.4b

    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)

PowerAda 5.4a

     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

PowerAda 5.4

     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

PowerAda 5.3e

     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

PowerAda 5.3d

    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

PowerAda 5.3c

    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