This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug gdb/20057] Internal error on trying to set {char[]}$pc="string"


https://sourceware.org/bugzilla/show_bug.cgi?id=20057

Pedro Alves <palves at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |sanimir.agovic at intel dot com

--- Comment #2 from Pedro Alves <palves at redhat dot com> ---
git bisect points at:

37c1ab67a35025d37d42c449deab5f254f9f59da is the first bad commit
commit 37c1ab67a35025d37d42c449deab5f254f9f59da
Author: Sanimir Agovic <sanimir.agovic@intel.com>
Date:   Wed Oct 9 15:28:22 2013 +0100

    type: add c99 variable length array support

    The dwarf standard allow certain attributes to be expressed as dwarf
    expressions rather than constants. For instance upper-/lowerbound
attributes.
    In case of a c99 variable length array the upperbound is a dynamic
attribute.

    With this change c99 vla behave the same as with static arrays.

    1| void foo (size_t n) {
    2|   int ary[n];
    3|   memset(ary, 0, sizeof(ary));
    4| }

    (gdb) print ary
    $1 = {0 <repeats 42 times>}

        * dwarf2loc.c (dwarf2_locexpr_baton_eval): New function.
        (dwarf2_evaluate_property): New function.
        * dwarf2loc.h (dwarf2_evaluate_property): New function prototype.
        * dwarf2read.c (attr_to_dynamic_prop): New function.
        (read_subrange_type): Use attr_to_dynamic_prop to read high bound
        attribute.
        * gdbtypes.c: Include dwarf2loc.h.
        (is_dynamic_type): New function.
        (resolve_dynamic_type): New function.
        (resolve_dynamic_bounds): New function.
        (get_type_length): New function.
        (check_typedef): Use get_type_length to compute type length.
        * gdbtypes.h (TYPE_HIGH_BOUND_KIND): New macro.
        (TYPE_LOW_BOUND_KIND): New macro.
        (is_dynamic_type): New function prototype.
        * value.c (value_from_contents_and_address): Call resolve_dynamic_type
        to resolve dynamic properties of the type. Update comment.
        * valops.c (get_value_at, value_at, value_at_lazy): Update comment.

:040000 040000 243e14c33458e16ed92afc34262d86bec77901d3
feee790d25fc6ece2ed184210edb33fee731f7ee M      gdb

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]