Lines Matching refs:description
15 - [4.1 Location Description](#location-description)
16 - [4.2 Stack Location Description Operations](#stack-location-description-operations)
29 - [A.2 General Description](#a-2-general-description)
33 - [A.2.5.3 DWARF Location Description](#a-2-5-3-dwarf-location-description)
42 - [A.2.5.4.4 Location Description Operations](#a-2-5-4-4-location-description-operations)
43 ….4.1 General Location Description Operations](#a-2-5-4-4-1-general-location-description-operations)
44 … Undefined Location Description Operations](#a-2-5-4-4-2-undefined-location-description-operations)
45 ….4.4.3 Memory Location Description Operations](#a-2-5-4-4-3-memory-location-description-operations)
46 ….4 Register Location Description Operations](#a-2-5-4-4-4-register-location-description-operations)
47 ….5 Implicit Location Description Operations](#a-2-5-4-4-5-implicit-location-description-operations)
48 … Composite Location Description Operations](#a-2-5-4-4-6-composite-location-description-operations)
296 The DW_OP_regx operation creates a location description that specifies the
307 location description in the location area.
344 address to create a global memory location description, which is placed in the
345 location area. The result of the expression is the location description in the
357 Each part specifies a location description and the number of bytes used from it.
358 The following operation expression creates a composite location description.
368 The DW_OP_regx operation creates a register location description in the location
374 description in the location area with a single part. The location description in
381 description already in the location area. The parts form a contiguous set of
384 description. Again, the operand specifies the size of the part in bytes. The
385 undefined location description can be used to indicate a part that has been
400 stack, the new part is a memory location description. The memory address used is
408 an incomplete composite location description, the incomplete composite location
409 is implicitly converted to a complete composite location description. The result
410 of the expression is the location description in the location area.
417 location description it created. The [3.2.3 Variable Location in
435 To offset a composite location description, the compiler would need to make a
436 different composite location description, starting at the part corresponding to
487 Each kind of location description is conceptually a zero-based offset within a
506 value or a location description.
509 value to a location description, or vice versa, so that all DWARF 5 expressions
511 effectively used as a proxy for a memory location description.
514 the expression is to be evaluated as a value or a location description.
517 are generalized to act on any location description kind. For example, the
518 DW_OP_deref operation pops a location description rather than a memory address
520 starting at the location description's offset.
528 DW_OP_offset operation that modifies the offset of the location description on
538 location description. Currently this is only possible as a piece of a composite
565 The DW_OP_regx pushes a register location description on the stack. The storage
567 description conceptually references that storage with an initial offset of 0.
572 The DW_OP_offset_uconst pops a location description off the stack, adds its
573 operand value to the offset, and pushes the updated location description back on
579 The result of the expression evaluation is the location description on the top
609 has to occupy two vector registers. A composite location description is created
629 The DW_OP_regx VGPR0 pushes a location description for the first register.
642 The DW_OP_offset adjusts the register location description's offset to the
647 The DW_OP_piece either creates a new composite location description, or adds a
648 new part to an existing incomplete one. It pops the location description to use
650 composite location description, otherwise it creates a new incomplete composite
651 location description with no parts. Finally it pushes the incomplete composite
654 In this case a register location description is added to a new incomplete
655 composite location description. The 4 of the DW_OP_piece specifies the size of
660 an incomplete composite, an undefined location description is used for the part.
662 converted to a global memory location description with an offset equal to the
669 VGPR1 register location description is added as a second part.
684 composite location description, it is converted to a complete location
685 description and returned as the result.
714 The DW_OP_addr operation pushes a global memory location description on the
719 The next DW_OP_piece adds the global memory location description as the next 2
725 description on the stack. The storage of the implicit location description is
733 The final DW_OP_piece adds 2 bytes of the implicit location description as the
734 third part of the composite location description.
739 description into a complete location description. This allows a complete
740 composite location description to be created on the stack that can be used as
741 the location description of another following operation. For example, the
786 location description is pushed which refers to the address space's storage, with
802 like for any other kind of location description.
808 contents. There is no operation to actually create a location description that
812 Since DW_OP_piece now takes any kind of location description for its pieces, it
831 The following example defines a location description for a source variable that
848 The DW_OP_bit_offset operation pops a value and location description from the
849 stack. It pushes the location description after updating its offset using the
868 description, and operations to create locations in address spaces.
873 using a global memory address as a proxy for a memory location description. This
881 address space, be described by a composite location description, or could even
882 be an implicit location description.
888 Allowing any kind of location description on the stack permits the DW_OP_call*
902 operations to work with any kind of location description enables creating
915 description out of a location description, an element size, and an element
917 elements with each element being the same location description of the specified
920 A DW_OP_select_bit_piece operation could create a composite location description
934 composite location description out of two location descriptions, an offset
937 description replacing a slice defined by the offset and size. This could be used
969 location description, or a DWARF operation expression that uses the
971 expression that returned a location description involving multiple places.
981 offset to each single location description. The DW_OP_deref* operations simply
1028 Value](#dwarf-expression-value)) or a location description (see [2.5.3 DWARF
1029 Location Description](#dwarf-location-description)). When a DWARF expression
1030 is evaluated, it may be specified whether a value or location description is
1036 Operations](#memory-location-description-operations) are performed if
1044 > descriptions having an undefined location description. Then operations that
1045 > encounter an evaluation error can return the undefined location description or
1075 it can be a location description or a value.
1187 The location description of a program object.
1197 DWARF Location Description](#dwarf-location-description)).
1210 DWARF Location Description](#dwarf-location-description)).
1215 <i>A DWARF expression for a location description may be able to be evaluated
1275 A single location description specifies the location storage that holds a
1329 If a location description has more than one single location description, the
1331 description's position within the associated location storage is not the same
1334 <i>A location description that has more than one single location description can
1337 description that has more than one single location description. There are no
1338 operation expression operations that can directly create a location description
1339 with more than one single location description.</i>
1341 <i>A location description with more than one single location description can be
1351 <i>A consumer of a location description with more than one single location
1352 description can read the object's value from any of the single location
1356 Updating a location description L by a bit offset B is defined as adding the
1357 value of B to the bit offset of each single location description SL of L. It is
1362 location description. If such a location description is accessed, the storage it
1364 location description was created, which may differ from the context at the time
1367 <i>For example, creating a register location description requires the thread
1369 Creating a memory location description for an address space may required a
1373 If any of the context elements required to create a location description change,
1374 the location description becomes invalid and accessing it is undefined.
1376 <i>Examples of context that can invalidate a location description are:</i>
1391 <i>A DWARF expression can be used to compute a location description for an
1393 location description as the object context or initial stack context to compute a
1395 description becomes invalid between the two expression evaluations.</i>
1397 A change of a thread's program location may not make a location description
1399 location description, or using it as the object context or initial stack context
1402 <i>For example, a location description may specify a register that no longer
1414 entry can hold either a value or a location description. Operations can act on
1418 Description Operations](#memory-location-description-operations)), then
1432 - If the current result kind specifies a location description, then:
1433 - If the stack is empty, the result is a location description with one
1434 undefined location description.
1439 - If the top stack entry is a location description, or can be converted to one
1441 Operations](#memory-location-description-operations)), then the result
1442 is that, possibly converted, location description. Any other entries on the
1446 > NOTE: Could define this case as returning an implicit location description
1452 Operations](#memory-location-description-operations)), then the result is
1457 - If the stack is empty, the result is a location description with one
1458 undefined location description.
1464 > description is requested. However, GDB appears to report this as an error
1487 They allow the stack entries to be either a value or location description.
1490 location description (see [2.5.4.4.6 Composite Location Description
1491 Operations](#composite-location-description-operations)), then the DWARF
1499 > storage specified by the incomplete composite location description is also
1501 > incomplete composite location description can update the composite location
1647 location description, the compilation unit is the one that contains D, and
1648 the initial stack is empty. The location description result is pushed on
1654 > location description for a variable or formal parameter which may use a
1665 > location description on the stack. Presumably the intent of using
1667 > entry is to push just one location description on the stack. That
1668 > location description may have more than one single location description.
1680 > description on the stack for a variable or formal parameter, and also
1688 > pushes a location description (that may have multiple single location
1702 > location description. The producer then explicitly indicates the intent
1718 > except the result kind is a location description, the compilation unit
1720 > description result is pushed on the stack.
1726 description for any variable or formal parameter regardless of whether the
1733 > operation expression that results in a location description with one
1734 > implicit location description. Then this rule would not be required.
1741 > `DW_OP_call*` to get a location description for any
1875 > extensions allow a composite location description to be used to combine
1925 It pops one stack entry that must be a location description L.
1930 <i>If L, or the location description of any composite location description
1932 description, then any one of them can be selected as they are required to
1933 all have the same value. For any single location description SL, bits are
1935 specified by SL. For a composite location description, the retrieved bits
1942 > location description that has less than TS bits remaining in the register
1964 location storage LS specified by any single location description SL of L.
1967 Operations](#implicit-location-description-operations) for special
1984 It creates a location description L with one memory location description SL.
1993 the location storage selected when the location description was created is
2014 It creates a location description L as described for `DW_OP_xderef`.
2032 It creates a location description L as described for `DW_OP_xderef`.
2058 If the result of E is a location description L (see [2.5.4.4.4 Register
2060 Operations](#register-location-description-operations)), and the last
2100 `DW_OP_push_object_address` pushes the location description L of the current
2105 description may be determined from the variable's own debugging information
2112 location description of a structure prior to evaluation of a
2115 > NOTE: This operation could be removed and the object location description
2149 An undefined location description specifies the undefined location storage.
2151 offset for an undefined location description. The `DW_OP_*piece` operations can
2152 implicitly specify an undefined location description, allowing any size and
2171 A memory location description specifies a memory location storage. The bit
2173 using a memory location description, access the corresponding target
2177 A memory location description that has a bit offset that is a multiple of 8 (the
2178 byte size) is defined to be a byte address memory location description. It has a
2181 A memory location description that does not have a bit offset that is a multiple
2182 of 8 (the byte size) is defined to be a bit field memory location description.
2186 The address space AS of a memory location description is defined to be the
2188 the memory location description.
2190 A location description that is comprised of one byte address memory location
2191 description SL is defined to be a memory byte address location description. It
2197 If a stack entry is required to be a location description, but it is a value V
2198 with the generic type, then it is implicitly converted to a location description
2199 L with one memory location description SL. SL specifies the memory location
2204 > converted to a memory location description in the target architecture default
2207 > > If a stack entry is required to be a location description, but is a value V
2209 > > description L with a one memory location description SL. If the type size of
2223 If a stack entry is required to be a location description, but it is an implicit
2225 implicitly converted to a location description with one single location
2226 description specified by IPV. See [2.5.4.4.5 Implicit Location Description
2227 Operations](#implicit-location-description-operations).
2229 If a stack entry is required to be a value, but it is a location description L
2230 with one memory location description SL in the target architecture default
2240 It pushes a location description L with one memory location description SL
2257 It pushes a location description L with one memory location description SL
2272 It pushes a location description L with one memory location description SL
2274 description that corresponds to the thread-local storage address TA.
2301 `DW_OP_call_frame_cfa` pushes the location description L of the Canonical
2320 The location description L for the <i>frame base</i> of the current
2325 The location description L is updated by bit offset B scaled by 8 (the byte
2350 They push a location description L comprising one memory location
2351 description LS on the stack. LS specifies the memory location storage that
2371 A register location description specifies a register location storage. The bit
2373 register location description access the corresponding target architecture
2390 description L that specifies one register location description SL on the
2396 determine the location description that holds the register for the current
2398 location description L is pushed.
2401 description may be register, memory, or undefined.</i>
2412 register location description.</i>
2422 An implicit location description specifies an implicit location storage. The bit
2424 accessed using an implicit location description, access the corresponding
2436 It pushes location description L with one implicit location description SL
2446 It pushes a location description L with one implicit location description SL
2451 location description specifies the actual value of the object, rather than
2455 Operations](#implicit-location-description-operations) for special
2472 form, the location description specifies a debugging information entry that
2473 represents the actual location description of the object to which the
2499 It pushes a location description L that comprises one implicit location
2500 description SL on the stack. SL specifies LS with a bit offset of 0.
2503 description L', and retrieves S bits, such that any retrieved bits come from
2507 1. All retrieved bits come from an implicit location description that
2511 location description, as L' may involve composite location
2526 If IPV is either implicitly converted to a location description (only done
2528 location description RL is:
2532 that the result kind is a location description, the compilation unit is
2543 comprises one implicit location description SRL. SRL specifies RLS with a
2548 > location description, then this rule would not be required.
2552 The location description RL is updated by bit offset B scaled by 8 (the byte
2556 then it pushes a location description that is the same as L.
2560 <i>The restrictions on how an implicit pointer location description created
2591 Each part has a part location description L and a part bit size S. L can have
2606 A composite location description specifies a composite location storage. The bit
2621 A composite location description that specifies a composite location storage
2622 that is incomplete is termed an incomplete composite location description. A
2623 composite location description that specifies a composite location storage that
2624 is complete is termed a complete composite location description.
2626 If the top stack entry is a location description that has one incomplete
2627 composite location description SL after the execution of an operation expression
2628 has completed, SL is converted to a complete composite location description.
2636 If a stack entry is required to be a location description L, but L has an
2637 incomplete composite location description, then the DWARF expression is
2639 creating a composite location description as described below.
2642 location descriptions from any other location description, including those that
2646 <i>The incremental composite location description operations are defined to be
2656 - If the stack is empty, then a location description L comprised of one
2657 incomplete composite location description SL is pushed on the stack.
2660 P. P specifies a location description PL and has a bit size of S scaled by
2661 8 (the byte size). PL is comprised of one undefined location description
2666 - Otherwise, if the top stack entry is a location description L comprised of
2667 one incomplete composite location description SL, then the incomplete
2669 part P. P specifies a location description PL and has a bit size of S
2671 description PSL. L is left on the stack.
2672 - Otherwise, if the top stack entry is a location description or can be
2674 description PL. Then:
2676 - If the top stack entry (after popping PL) is a location description L
2677 comprised of one incomplete composite location description SL, then the
2679 append a new part P. P specifies the location description PL and has a
2681 - Otherwise, a location description L comprised of one
2682 incomplete composite location description SL is pushed on
2686 part P. P specifies the location description PL and has a bit size of S
2704 > description. Not only would this be a simpler operation and avoid the
2716 has the bit size S, and the location description PL of any created part is
2721 description.</i>
2737 1. <i>Bounded location description</i>
2740 evaluates to the location description of an object that is valid over a
2749 There are several kinds of bounded location description entries which differ
2752 2. <i>Default location description</i>
2755 evaluates to the location description of an object that is valid when no
2756 bounded location description entry applies.
2759 within the range of any bounded location description entry.
2765 bounded location description entries. The applicable base address of a
2766 bounded location description entry is the address specified by the closest
2780 The address ranges defined by the bounded location description entries of a
2786 defined, and there is no following default location description entry, it is
2802 description that comprises one undefined location description.
2805 description, the object is unspecified, and the initial stack is empty. The
2806 location list entry result is the location description returned by the
2809 The result is a location description that is comprised of the union of the
2810 single location descriptions of the location description result of each
2823 evaluated with an initial stack that includes a location description that may
2848 has a result kind of a location description, an unspecified object, the
2852 description L of the place where the return address for the current call
2856 description for one of the target architecture specific address spaces.
2868 has a result kind of a location description, an unspecified object, the
2874 resulting location description L is not comprised of one single location
2875 description SL.
2877 If SL is a register location description for register R, then L is replaced
2879 the frame base memory location description in the target architecture
2886 > required location description directly using `DW_OP_call_frame_cfa` or
2891 description in any of the target architecture specific address spaces.
2903 has a result kind of a location description, an unspecified object, the
2907 description L of the <i>canonical frame address</i> (see [6.4 Call Frame
2913 description for one of the target architecture specific address spaces.
2938 E<sub>2</sub> with a context that has a result kind of a location description,
2942 description L<sub>2</sub> is the location where the referenced parameter lives
3001 has a result kind of a location description, an unspecified object, the
3005 description of the base of the data object.
3010 > NOTE: Delete the description of how the `DW_OP_call*` operations evaluate
3020 > supporting evaluating the location description of an object, and using a
3031 > description now that any location description can be used within a DWARF
3033 > the location description of any variable regardless of how it is
3052 the location description of the beginning of the containing entity by B
3053 scaled by 8 (the byte size). The result is the location description of
3061 with a context that has a result kind of a location description, an
3063 stack comprising the location description of the beginning of the
3066 any. The result of the evaluation is the location description of the
3070 > description, including those with more than one single location
3071 > description, and those with single location descriptions that are of any
3080 has a result kind of a location description, an unspecified object, the
3082 description of the object of the enclosing type, and other context elements
3084 is focused, if any. The result of the evaluation is the location description
3092 to compute the location description of the member of the class to which the
3095 <i>The method used to find the location description of a given member of a
3102 location description for a particular object of the given pointer to member type
3106 a result kind of a location description, an unspecified object, the compilation
3110 member object itself. The second stack entry is the location description of the
3113 description of the member of the class to which the pointer to member entry
3121 location description of the data for an object. When this attribute is omitted,
3122 the location description of the data is the same as the location description of
3126 a result kind of a location description, an object that is the location
3127 description of the data descriptor, the compilation unit that contains E, an
3130 of the evaluation is the location description of the base of the member entry.
3133 `DW_OP_push_object_address` operation which loads the location description
3145 > having an initial stack with the location description of the object since the
3161 > unwind DWARF expressions are generalized to allow any location description,
3172 description (see [2.5.4.4.2 Undefined Location Description
3173 Operations](#undefined-location-description-operations)).
3182 register is the location description L that specifies one register location
3183 description SL. SL specifies the register location storage that corresponds
3187 register is the location description obtained using the call frame
3197 the location description L. Where L is the location description of the
3205 byte address of the location description L. Where L is the location
3206 description of the current CFA (see [2.5.4 DWARF Operation
3210 The DWARF is ill-formed if the CFA location description is not a memory byte
3211 address location description, or if the register size does not match the
3214 <i>Since the CFA location description is required to be a memory byte
3215 address location description, the value of val_offset(N) will also be a
3216 memory byte address location description since it is offsetting the CFA
3217 location description by N bytes. Furthermore, the value of val_offset(N)
3237 The previous value of this register is the location description obtained
3251 The previous value of this register is located at the location description
3256 location description, the compilation unit is unspecified, the object is
3257 unspecified, and an initial stack comprising the location description of the
3269 initial stack comprising the location description of the current CFA (see
3280 > location description of any size.
3453 description.
3461 data_alignment_factor` as a location description.
3471 expression `DW_OP_bregx R, B` as a location description. B is the old CFA
3482 DWARF operation expression `DW_OP_bregx R, B` as a location description. R
3494 location description. R is the old CFA register number.
3508 description, the compilation unit is unspecified, the object is unspecified,
3515 address location description.
3591 <i>That is, E computes the location description where the register value can
3685 many figures that help illustrate the textual description, especially of the