kernel/eka/compsupp/aehabi/Readme
changeset 0 a41df078684a
equal deleted inserted replaced
-1:000000000000 0:a41df078684a
       
     1 Exceptions library release 1.01.
       
     2 
       
     3 This source code is intended to be compliant with release 1.0 of the EHABI. 
       
     4 
       
     5 The following defects against the previous (1.0) release have been fixed:
       
     6 
       
     7 1) The personality routines were checking handler table entry descriptor
       
     8 ranges using virtual r14 not virtual r15. Consequently if the entry contained
       
     9 two or more descriptors with matching ranges, and the first was a cleanup,
       
    10 subsequent descriptors would incorrectly fail the range check because the
       
    11 cleanup code legitimately corrupted r14 (and hence virtual r14; virtual r15
       
    12 is preserved).
       
    13 
       
    14 2) The runtime library would call abort() instead of terminate() under this
       
    15 sequence of events:
       
    16 i)   The program installs an unexpected exception handler (set_unexpected(...)).
       
    17 ii)  A throw of type T violates a function exception specification, causing
       
    18      unexpected() to be called and the user's handler to be entered.
       
    19 iii) The handler throws another exception of type T.
       
    20 
       
    21 3) Type matching when throwing a NULL pointer to pointer to T (any type T)
       
    22 could dereference down the "pointer" chain beginning at location 0 (=NULL),
       
    23 hence possibly accessing any location in memory.