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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1210 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 1210.


Report 1210 Actions


    Problem Report Number 1210
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0412
    Raised 1970-01-01 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Internationalised System Calls and Libraries Extended (UNIX 95)
    Certification Program The Open Brand certification program
    Test Suite VSU version 4.1.0
    Test Identification base/signal.h 105
    Problem Summary PG4U.00055 Macro names beginning with uc_ are not allowed in the namespace for this header.
    Problem Text
    Macro names beginning with uc_ are not allowed in the namespace for
    this header.

    Request is similar to (but does not exactly match) TSD4U.00059 and
    TSD4U.00022 from VSU 4.0.2.

    signal.h Test 105 fails because of the inclusion of the ucontext_t structure.
    According to CASPEC, the ucontext_t structure should be defined in signal.h
    "as described in <ucontext.h>". On the CASPEC page for <ucontext.h>, the
    structure is described as containing "at least" certain members, and other
    members are allowed provided their names comply with the rules on page 19.
    Specifically, in HP's implementation of the structure there are other members
    beginning with "uc_". The structure passes the ucontext.h test, but the
    signal.h test complains about these extra members beginning with "uc_".

    If the signal.h page requires the structure to be defined "as described in
    <ucontext.h>", then the signal.h test should permit the structure that is
    acceptable to the ucontext.h test.

    stdlib.h Test 45 and sys/wait.h Test 25 also fail for this reason.
    Test Output
    TEST CASE: signal.h

    TEST PURPOSE #105
    The inclusion of signal.h with _XOPEN_SOURCE and
    _XOPEN_SOURCE_EXTENDED=1 defined shall only define or
    declare identifiers with external linkage, macros, and
    identifiers with file scope specified in the signal.h
    header file section; identifiers prefixed with 'sa_',
    'si_', 'ss_', 'sv_', 'SIG[A-Z]', or 'SIG_[A-Z]';
    macros prefixed with 'sa_', 'si_', 'ss_', 'sv_',
    'SIG[A-Z]', 'SIG_[A-Z]', 'SA_', 'SIG_[0-9a-z_]',
    'BUS_', 'CLD_', 'FPE_', 'ILL_', 'POLL_', 'SEGV_',
    'SI_', 'SS_', 'SV_', or 'TRAP_'; macros and
    identifiers suffixed with '_t'; and macros and
    identifiers prefixed with underscore and either an
    alphanumeric character or another underscore.
    ERROR: Invalid macro name 'uc_link'
    ERROR: Invalid macro name 'uc_sigmask'
    ERROR: Invalid macro name 'uc_stack'
    105 FAIL

    TEST CASE: stdlib.h

    TEST PURPOSE #45
    The inclusion of stdlib.h with _XOPEN_SOURCE and
    _XOPEN_SOURCE_EXTENDED=1 defined shall only define or
    declare identifiers with external linkage, macros, and
    identifiers with file scope specified in the stdlib.h,
    stddef.h, limits.h, math.h sys/wait.h signal.h,
    sys/resource.h and sys/time header file sections;
    identifiers prefixed with 'sa_', 'si_', 'ss_', 'sv_',
    'SIG[A-Z]', 'SIG_[A-Z]', 'FD_', 'fds_, 'it_', 'rlim_',
    'ru_' and 'tv_', or 'W[A-Z]'; macros prefixed with
    'sa_', 'si_', 'ss_', 'sv_', 'SIG[A-Z]', 'SIG_[A-Z]',
    'SA_', 'SIG_[0-9a-z_]', 'BUS_', 'CLD_', 'FPE_',
    'ILL_', 'POLL_', 'SEGV_', 'SI_', 'SS_', 'SV_',
    'TRAP_', 'FD_', 'fds_', 'it_', 'rlim_', 'ru_' 'tv_',
    'ITIMER_', 'PRIO_', 'RLIM_', 'RLIMIT_', 'RUSAGE_'or
    'W[A-Z]'; function names beginning with 'str' and a
    lower case letter; macros and identifiers suffixed
    with '_t'; and macros and identifiers prefixed with
    underscore and either an alphanumeric character or
    another underscore.
    ERROR: Invalid macro name 'uc_link'
    ERROR: Invalid macro name 'uc_sigmask'
    ERROR: Invalid macro name 'uc_stack'
    45 FAIL

    TEST CASE: sys/wait.h

    TEST PURPOSE #25
    The inclusion of sys/wait.h with _XOPEN_SOURCE and
    _XOPEN_SOURCE_EXTENDED=1 defined shall only define or
    declare identifiers with external linkage, macros, and
    identifiers with file scope specified in the
    sys/wait.h, signal.h, and sys/resource.h header file
    sections; identifiers prefixed with 'FD_', 'fds_,
    'it_', 'rlim_', 'ru_', 'tv_', 'sa_', 'si_', 'ss_',
    'sv_', 'SIG[A-Z]', 'SIG_[A-Z]' or 'W[A-Z]'; macros
    prefixed with 'FD_', 'fds_', 'it_', 'rlim_', 'ru_'
    'tv_', 'ITIMER_', 'PRIO_', 'RLIM_', 'RLIMIT_'
    'RUSAGE_', 'sa_', 'si_', 'ss_', 'sv_', 'SIG[A-Z]',
    'SIG_[A-Z]', 'SA_', 'SIG_[0-9a-z_]', 'P_', 'BUS_',
    'CLD_', 'FPE_', 'ILL_', 'POLL_', 'SEGV_', 'SI_', or
    'TRAP_'; macros and identifiers suffixed with '_t';
    and macros and identifiers prefixed with underscore
    and either an alphanumeric character character or
    another underscore.
    ERROR: Invalid macro name 'uc_link'
    ERROR: Invalid macro name 'uc_sigmask'
    ERROR: Invalid macro name 'uc_stack'
    25 FAIL

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    We recommend this request be refused.

    The TSDs referenced above are not related to additional structure
    members prefixed with a uc_. The error messages for those TSDs
    clearly demonstrate this. Those TSDs have no impact on this
    request.

    The CASPEC quote above is incomplete. The entire sentence says

    The ucontext_t structure is defined through typedef as described
    in <ucontext.h>.

    This raises the issue of whether only the ucontext_t typedef or
    whether the whole ucontext.h namspace is to be made visible in
    signal.h,

    BR 1170/01 addressed this general issue. It states that

    ...only symbols expicitly mentioned in the specification
    are allowed to be revealed from the referenced header.

    This means that only the ucontext_t typedef may be visible from
    signal.h. No other symbols from the ucontext.h namespace should
    be visible. Implementation specific symbols prefixed by uc_ are
    not allowed.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority