Problem Report Number | 0011 (REJ.0001) |
---|---|
Submitter's Classification | Test Suite Problem (TSD) |
State | Resolved |
Resolution | Rejected (REJ) |
Raised | 2002-08-07 02:11 |
Updated | 2002-08-27 08:26 |
Published | 2002-08-27 08:26 |
Certification Program | Linux Standard Base Conformance Release 1.2 |
Test Suite | lsb-runtime IA32 version 1.2.1-1 |
Test Identification | LSB.os/mprotect/mprotect_P/T.mprotect.4 |
Problem Summary | Function copying fails on architecture with function descriptors |
Problem Text | Acrhitectures that use a "function descriptor" scheme do not fit the test assumption that taking the address of a function returns the entry-point address of that function. Observed on Itanium; believed to also be true on PPC64, PA- RISC. On Itanium you get a pointer to a function descriptor: struct fdesc { void *ip; /* entry point (code address) */ void *gp; /* global-pointer */ }; The test in question (and mmap_P.3,4) calls a utility routine vsrt_create_exec_file which attempts to copy the code for a function to a file so that the test can try to execute that function, but what is copied is the function decriptor and following bytes. Since the function descriptor is not modified, when the test executes from this location, it is thus executing the function from the OLD location. On Itanium there are protection and other issues which cause the segmentation faults. A proposed patch (Itanium- specific, can probably be generalized) is available on request; the general method for descriptor-based architectures is to make sure the function is copied, then rebuild a new function descriptor and use it to execute the copied function. |
Test Output | 10|596 /tset/LSB.os/mprotect/mprotect_P/T.mprotect_P 21:55:56|TC Start, scenario ref 601-0 15|596 3.3-lite 11|TCM Start ... 400|596 4 1 21:56:02|IC Start 200|596 4 21:56:02|TP Start 520|596 4 00015201 1 1|Page was not executable 220|596 4 1 21:56:04|FAIL 410|596 4 1 21:56:04|IC End Also: 10|588 /tset/LSB.os/mfiles/mmap_P/T.mmap_P 21:54:58|TC Start, scenario ref 593-0 15|588 3.3-lite 34|TCM Start ... 400|588 3 1 21:54:58|IC Start 200|588 3 21:54:58|TP Start 520|588 3 00015140 1 1|SIGSEGV received 220|588 3 1 21:54:58|FAIL 410|588 3 1 21:54:58|IC End 400|588 4 1 21:54:58|IC Start 200|588 4 21:54:58|TP Start 520|588 4 00015141 1 1|SIGSEGV received 220|588 4 1 21:54:58|FAIL 410|588 4 1 21:54:58|IC End |
Review Type | TSMA Review |
---|---|
Start Date | 2002-08-07 02:11 |
Last Updated | 2002-08-12 16:21 |
Completed | 2002-08-12 16:21 |
Status | Complete |
Review Recommendation | Rejected (REJ) |
Review Response | The test strategy is believed to be correct on the IA32 processor architecture. The architecture quoted is not valid in the current program, and hence the TSMA recommends that this problem report be rejected as a TSD . The issue should be dealt with by a bug report into Sourceforge. |
Review Type | SA Review |
---|---|
Start Date | 2002-08-12 15:21 |
Last Updated | 2002-08-22 13:10 |
Completed | 2002-08-22 13:10 |
Status | Complete |
Review Resolution | Rejected (REJ) |
Review Conclusion | The SA concurrs with the TSMA |
Copyright 2005, The Free Standards Group, All Rights Reserved