summaryrefslogtreecommitdiffstats
path: root/spec/acfg/val/disable-newlib-reentrancy.yml
blob: 3a73e6d52f4b87b4b175c2b87ab0339059f97bcf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
SPDX-License-Identifier: CC-BY-SA-4.0
copyrights:
- Copyright (C) 2022 embedded brains GmbH & Co. KG
enabled-by: true
links:
- role: validation
  uid: ../req/disable-newlib-reentrancy
method: by-inspection
references:
- identifier: cpukit/include/rtems/confdefs/extensions.h
  hash: o1zTKlcoJAoVIQYziWnRhZFx8v1R7ntNmT1W7zfdA5A=
  type: file
- identifier: cpukit/include/rtems/confdefs/newlib.h
  hash: wKlyOe7m5g4ThjUtsP2ujODiuZrOtK9qFBkMiCcFlxU=
  type: file
- identifier: cpukit/include/rtems/confdefs/threads.h
  hash: B3GWt2DpJYAMe6qvc_kBODb4MFOOXcESQ2y4Jk4PIIY=
  type: file
text: |
  Defining ${../if/disable-newlib-reentrancy:/name} is mandatory for
  applications using only the pre-qualified feature set.  The reason is to get
  linker errors in case such applications are linked if they depend on the
  Newlib reentrancy support.  Thus no validation test case can be used.
  Inspection of the referenced ${/glossary/sourcecode:/term} files showed that
  an initial extension set is registered, if
  ${../if/disable-newlib-reentrancy:/name} is not defined.  For the
  pre-qualified only build of RTEMS, this would lead to an unresolved reference
  linker error.  If ${../if/disable-newlib-reentrancy:/name} is defined, then
  the ``__getreent()`` function is not provided by RTEMS.  If
  ${../if/disable-newlib-reentrancy:/name} is defined, then the Newlib
  reentrancy structure is not contained in the ${/glossary/tcb:/term}.  This
  shows that the ${../req/disable-newlib-reentrancy:/spec} requirement is implemented
  as specified.
type: validation