|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1877 Details
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:
- View Report 1877
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority