1 2006-01-04 Michael Snyder <msnyder@redhat.com>
3 Checkpoint/Restart for Linux.
4 * linux-nat.c: Add support for debugging multiple forks.
5 Add #include for linux-fork.h (interface spec).
6 (super_mourn_inferior): New function pointer.
7 (child_mourn_inferior): New function / target method.
8 (linux_target): Claim to_mourn_inferior method pointer.
9 (child_follow_fork): Call interface to linux-fork, conditionally
10 add new fork processes to list of debugged processes.
11 (kill_inferior): Use interface to linux-fork to kill
14 * linux-fork.h: New file.
15 * linux-fork.c: New file. Support for debugging multiple forks
16 of the same program. Support for checkpoint and restart commands.
18 * infrun.c (nullify_last_target_wait_ptid): New function.
20 * Makefile.in: Add linux-fork.
21 * config/*/linux.mh: Add linux-fork.
22 * NEWS: Mention new functionality.
24 2006-01-02 Paul Hilfinger <hilfingr@nile.gnat.com>
26 * ada-exp.y (syntax definitions,write_var_or_type,write_name_assoc):
27 Change uses of "illegal" to "invalid".
29 2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
31 * ada-exp.y: Considerable reorganization to move functionality
32 from ada-lex.l to here, where it is logically more appropriate.
33 The original reason, however, was to prevent premature name
34 lookups for selector names in record aggregates.
35 (BLOCKNAME, TYPENAME, OBJECT_RENAMING): Remove; lexer now returns
36 NAME for all of these.
37 (VAR): New artificial token to clarify precedence rules.
39 (empty_stoken): New symbol.
40 (%union): Remove ssym, voidval.
41 (%type): Remove <voidval> type declarations.
42 (syntax definitions): Add aggregates.
43 Remove distinction between NAME, TYPENAME, BLOCKNAME, OBJECT_RENAMING.
44 Rename some non-terminals to be closer to reference manual usage.
45 Tighten up expression syntax to disallow certain non-Ada
46 constructions such as X and then Y or else Z.
47 (ada_parse): Remove initialization of left_block_context.
48 (write_var_from_name): Remove.
49 (write_var_or_type): New function, containing previous code from
50 defunct write_var_from_name and name_lookup.
51 (block_lookup): New function, moved from ada-lex.l
52 (select_possible_type_sym): New function, factored out of
53 name_lookup, which used to be in ada-lex.l.
54 (find_primitive_type): Ditto.
55 (chop_selector): Ditto.
56 (write_ambiguous_var): New function, factored out of defunct
58 (write_selectors): New function.
59 (write_name_assoc): New function.
60 (write_exp_op_with_string): New function.
62 * ada-lex.l (processId): Change interface to return stoken.
63 (tempbuf, resize_tempbuf, tempbuf_size, tempbuf_len): Remove.
64 (block_lookup, name_lookup): Remove. Functionality moved to
66 (state IN_STRING): Remove.
67 (rules): Handle string escapes in processString.
69 Return all NAMEs, BLOCKNAMEs, OBJECT_RENAMINGs, TYPENAMEs in
70 yylval.sval (as simple strings).
71 All name look-ups now handled in ada-exp.y.
72 Introduce "::" (COLONCOLON) token and return as separate token.
73 (processId): Change return convention. Comment.
74 Leave leading "'" in place.
75 (processString): New function.
76 (find_dot_all): Add note to comment.
77 Fix problem that allowed match only at the end.
79 * ada-lang.c: Introduce aggregates.
80 (find_struct_field): Add new parameter to count fields skipped, and
81 allow other output parameters to be NULL.
82 (value_tag_from_contents_and_address, ada_value_struct_elt): Use
83 new find_struct_field.
84 (ada_index_struct_field, assign_aggregate, ada_is_array_type)
85 (num_visible_fields, ada_index_struct_field_1, ada_index_struct_field)
86 (num_component_specs, assign_component, assign_aggregate):
87 (aggregate_assign_from_choices,aggregate_assign_positional)
88 (aggregate_assign_others,add_component_interval):
90 (ada_evaluate_subexp): Declare.
91 Add aggregate-related operators.
92 (ada_forward_operator_length): Declare.
93 (resolve_subexp): Add cases for new aggregate operators and OP_NAME.
94 Consolidate Ada operators, using ada_forward_operator_length.
95 (ada_search_struct_field): Search in forward order.
96 (ADA_OPERATORS): Add new aggregate operators.
97 (ada_operator_length, ada_op_name, ada_forward_operator_length)
98 (ada_dump_subexp_body, ada_print_subexp): Handle new aggregate
99 operators and OP_NAME.
100 (ada_type_of_array): Use longest_to_int.
101 (value_assign_to_component): New function.
102 (ada_forward_operator_length, ada_op_name, ada_dump_subexp_body):
104 (ada_forward_operator_length, ada_dump_subexp_body):
107 * ada-lang.h (enum ada_operator): Add OP_AGGREGATE, OP_OTHERS,
108 OP_CHOICES, OP_DISCRETE_RANGE, OP_POSITIONAL.
110 2006-01-02 Paul N. Hilfinger <hilfinger@adacore.com>
112 * ada-lang.c (process_raise_exception_name): Remove extraneous
113 definition from unsubmitted code.
115 (is_lower_alphanum): New function.
116 (ada_decode): Add support for decoding protected object subprograms
117 and entries, and of entities declared inside protected object
119 Also add missing handling for__{DIGITS}+ suffixes.
120 Allow '$<digits>' as valid overloading suffix.
121 (is_name_suffix): Add handling for protected type entriy suffixes.
122 Also add support for protected type subprogram suffixes, but keep
123 it commented out for now, as there is an ambiguity between these
124 entities and other internally generated entities.
125 Allow '$<digits>' as valid overloading suffix.
126 (is_valid_name_for_wild_match): New function.
127 (wild_match): Add an exra level of verification of the entity name
128 before declaring it a match for the given pattern.
130 (ada_type_of_array, ada_evaluate_subexp): Use more proper
131 longest_to_int rather than cast.
133 (ada_evaluate_subexp): Use "invalid" rather than "illegal" in comment.
135 (ada_coerce_to_simple_array): Call check_size to make sure
136 that the object size is reasonable.
138 (ada_value_primitive_packed_val): Use correct location in target
139 buffer for extracting packed record fields that are themselves records.
141 (add_defn_to_vec): Do not try to replace a stub type by its full
142 type. Avoids a potential infinite loop.
144 (ada_lookup_symbol): Move return incorrectly placed return statement,
145 causing a loop that should be scanning all object files to only
148 (ada_tag_name_2): New function.
149 (ada_tag_name_1): If no 'tsd' field found in the dispatching table,
150 use alternative representation.
152 (ada_find_renaming_symbol): Strip the function name suffix when
153 computing the XR type name.
155 (ada_to_fixed_type): Try determining the tag only if we have the
157 (to_fixed_array_type): Add comments.
159 (ada_check_typedef): Replace expression checking whether the given
160 type is a stub or not by a "call" to TYPE_STUB. Clearer and more
163 * ada-lang.h (ADA_KNOWN_AUXILIARY_FUNCTION_NAME_PATTERNS): Allow
164 '$' in addition to '.' for runtime auxiliary function name suffixes.
165 See changes to ada_decode above.
167 (struct task_control_block): Add field called_task. (This change is
168 to keep synchronized with our local sources; it does not affect the
171 * ada-typeprint.c (ada_print_type): Use int_string for printing
172 modulus of modular type.
174 (print_range): Trivial editorial comment fix.
176 * ada-valprint.c (ada_emit_char): Use normal Ada syntax for
177 double quote in string.
179 2006-01-01 Joel Brobecker <brobecker@adacore.com>
181 * top.c: Add 2006 to list of copyright years in file header.
183 2006-01-01 Joel Brobecker <brobecker@adacore.com>
185 * top.c (print_gdb_version): Update copyright year to 2006.
187 2006-01-01 Roger Sayle <roger@eyesopen.com>
188 Elena Zannoni <ezannoni@redhat.com>
191 * xcoffread.c (xcoff_next_symbol_text): Check this_symtab_psymtab
192 for NULL before assigning this_symtab_psymtab->objfile to objfile.
193 (scan_xcoff_symtab): Initialize next_symbol_text_func.
194 (Committed by Jim Blandy)
196 For older changes see ChangeLog-2005.
202 version-control: never