HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1877 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 1877.


Report 1877 Actions


    Problem Report Number 1877
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0938
    Raised 1998-02-27 08:00
    Updated 2003-03-13 08:00
    Published 1998-03-04 08:00
    Product Standard Internationalised System Calls and Libraries Extended V2 (UNIX 98)
    Certification Program The Open Brand certification program
    Test Suite VSX5 version 5.1.4
    Test Identification DYNL.os/libdl/dlopen 12
    Problem Summary TSD5.007 This assertion is failing because test12_func is declared as a static. function. Our implementation doesn't export statics per ISO C section 6.1.2.2. XPG5 XSH page 166 states: "The symbols introduced...
    Problem Text
    This assertion is failing because test12_func is declared as a static. function.
    Our implementation doesn't export statics per ISO C section 6.1.2.2. XPG5
    XSH page 166 states:

    "The symbols introduced by dlopen() operations, and available through dlsym()
    are at a minimum those which are exported as symbols of global scope by the
    object. Typically such symbols will be those that were specified in
    (for example) C source code as having extern linkage. The precise manner in
    which an implementation constructs the set of exported symbols for a dlopen()
    object is specified by that implementation."


    In dlopen.c, the following is found:

    private void test12_func();
    Test Output
    ************************************************************************
    /tset/DYNL.os/libdl/dlopen/T.dlopen 12 Failed

    Test Description:
    When symbols introduced by calls to dlopen() are resolved, then the
    first occurrence of the object found is used. The search order for
    the object is:
    First, the executable image itself.
    Second, the executable image's list of needed objects in the
    resolution order.
    Third, the list of objects loaded from previous calls to dlopen()
    with the RTLD_GLOBAL flag set in the mode argument.

    Test Strategy:
    OBTAIN handle to dynamic object with RTLD_GLOBAL binding which
    contains re-definintions of symbols contained in the executable
    VERIFY success of dlopen call
    CALL dlopen((char *)0, RTLD_NOW) to obtain a second dynamic handle
    VERIFY success of dlopen call
    OBTAIN the address of a function contained in the original executable
    with dlsym using the second handle
    VERIFY the success of the dlsym call
    VERIFY that the returned address is the address of the object as
    defined in the original executable and not the symbol from the first
    dlopen'ed object
    OBTAIN the address of a function contained in a dynamic object linked
    with the original executable using the second handle
    VERIFY the success of the dlsym call
    VERIFY that the returned address is the address of the object as
    defined in the dynamic object linked in with the original executable
    OBTAIN the address of known test symbol defined in the first dlopen'ed
    object using the handle for the second dlopen'ed object
    VERIFY the success of the dlsym call
    VERIFY the returned variable has the expected value

    Test Information:
    dlopen() did not search a.out first:
    address returned by dlsym(handle, "test12_func") = 0x200161ec
    actual address of test12_func in a.out = 0x200020b0

    ************************************************************************

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is agreed that this is an error in the test case code and it is
    recommended that a waiver is granted on the grounds of a Test Suite
    Deficiency.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority