Skip to main content

IV24389: INLINE ASM MAY CAUSE SEGMENTATION FAULT


Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When inline assembly (asm("")) is used in a compilation unit,
    the C++ compiler does not handle C++ exceptions correctly.
    
    The symptoms range  from exceptions not being thrown, to not
    being caught correctly, to segmentation faults.
    
    Consider the following testcase test.cc:
    
    ///////////// test.cc //////////////////
    
    #include <cstdio>
    #include <exception>
    using namespace std;
    
    void junk() {
      asm("nop");
    }
    
    int main(int argc, char** argv) try {
      throw std::exception();
    } catch (...) {
      puts("Caught Exception");
    }
    ///////////////////////////////////////
    
    Compile testcase:
    
    $xlC test.cc
    
    Execute the binary:
    
    $./a.out
    Segmentation fault
    

Local fix

  • N/A
    

Problem summary

  • parts of ehframe descriptor are missing or wrong in inline asm
    

Problem conclusion

  • recommended for C++ users who also use inline asm
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV24389

  • Reported component name

    XL C FOR AIX

  • Reported component ID

    5724X1200

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-07-05

  • Closed date

    2012-07-05

  • Last modified date

    2012-07-05

  • APAR is sysrouted FROM one or more of the following:

    LI76731

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C FOR AIX

  • Fixed component ID

    5724X1200

Applicable component levels

  • RB10 PSY U852940

       UP C

Rate this page:

(0 users)Average rating

Copyright and trademark information

IBM, the IBM logo and ibm.com are trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.

Rate this page:


(0 users)Average rating

Add comments

Document information

XL C for AIX


Software version:
11.1


Reference #:
IV24389


Modified date:
2012-07-05

Translate my page

Content navigation