3 * objalloc.c, strsignal.c, xstrerror.c: Include "config.h" before
4 "ansidecl.h" to avoid redeclaration errors with native compilers.
5 * regex.c: Protect config.h from multiple inclusion.
9 * Makefile.in (libiberty.html): Fix html generation.
13 * vasprintf.c: Accept __va_copy in addition to va_copy.
17 * configure: Regenerate.
21 * configure.ac: Do not enable multilibs for build-side libiberty.
25 * lrealpath.c (lrealpath): Add _WIN32 support.
29 * cp-demangle.h: Declare cplus_demangle_operators,
30 cplus_demangle_builtin_types, cplus_demangle_mangled_name, and
31 cplus_demangle_type as static if IN_GLIBCPP_V3.
36 * cp-demangle.c (d_expr_primary): Check for a failure return from
38 * testsuite/demangle-expected: Add test case.
42 * pex-win32.c (fix_argv): Expand comment.
46 * Makefile.in: Add .NOEXPORT.
50 * mkstemps.c (mkstemps) [VMS]: Remove special open option. Update
55 * configure.ac (UNSIGNED_64BIT_TYPE): Unquote the definition.
56 * configure: Regenerate.
60 * hashtab.c: Include limits.h, stdint.h, ansidecl.h.
61 (CHAR_BIT): Provide default.
62 (struct prime_ent, prime_tab): New.
63 (higher_prime_index): Rename from higher_prime_number, return index.
65 (htab_mod, htab_mod_m2): Use it.
66 (htab_create_alloc, htab_create_alloc_ex): Store prime index.
67 (htab_expand): Likewise.
68 * configure.ac: Check for stdint.h.
69 (UNSIGNED_64BIT_TYPE): New define and checks to fill it in.
70 * config.in, configure: Rebuild.
74 * strerror.c: Include config.h, and redefine sys_nerr and
75 sys_errlist, before including ansidecl.h and libiberty.h.
79 * hashtab.c (htab_remove_elt_with_hash): New function.
80 (htab_remove_elt): Implement in terms of htab_remove_elt_with_hash.
84 * hashtab.c (htab_size): Move to top of file; mark inline.
85 (htab_elements): Likewise.
86 (htab_mod, htab_mod_m2): New.
87 (htab_delete): Refactor htab->size and htab->entries.
88 (htab_empty): Likewise.
89 (find_empty_slot_for_expand): Use htab_size, htab_mod, htab_mod_m2.
90 (htab_find_with_hash, htab_find_slot_with_hash): Likewise.
91 (htab_clear_slot): Use htab_size, htab_elements.
92 (htab_traverse_noresize, htab_traverse): Likewise.
96 * pex-unix.c (pexecute): Use vfork instead of fork, with
97 appropriate changes to make this safe.
98 * pex-common.h (STDERR_FILE_NO): Define.
100 * Makefile.in: Clean up REQUIRED_OFILES and CONFIGURED_OFILES for
101 an 80 column screen. Run maint-deps.
105 * configure.ac: Bump version to 2.59. Apply suggested autoupdates.
106 * acconfig.h: Delete redundant file.
107 * config.in: Regenerate.
108 * configure: Regenerate.
112 * configure: Regenerate for config/accross.m4 correction.
116 * testsuite/test-demangle.c: Include <string.h> and <stdlib.h> for
118 (main): Initialize style.
122 * cp-demangle.h (enum d_builtin_type_print): Add D_PRINT_UNSIGNED,
123 D_PRINT_UNSIGNED_LONG, D_PRINT_LONG_LONG,
124 D_PRINT_UNSIGNED_LONG_LONG, D_PRINT_FLOAT.
125 * cp-demangle.c (cplus_demangle_builtin_types): Change char and
126 short types to D_PRINT_DEFAULT. Change other integer types to use
127 new D_PRINT_* values where appropriate. Change float types to
129 (d_print_comp) [LITERAL, LITERAL_NEG]: Handle new D_PRINT_*
131 * testsuite/demangle-expected: Adjust two test cases.
133 * cp-demangle.c (d_print_function_type): Print a space before the
134 parenthesis around the function type in more cases.
135 * testsuite/demangle-expected: Adjust one test case.
137 * cp-demangle.c (d_print_comp) [UNARY]: Don't emit extra
138 parentheses around a cast.
139 * testsuite/demangle-expected: Adjust two test cases to match new
142 * cp-demangle.c (__cxa_demangle): Pass DMGL_PARAMS to d_demangle.
144 * cp-demangle.c (d_print_comp) [RESTRICT, VOLATILE, CONST]: Don't
145 push more than one of the same CV-qualifier on the top of the
147 (d_print_comp) [ARRAY_TYPE]: If the array itself is CV-qualified,
148 move the CV-qualifiers to apply to the element type instead.
149 (d_print_array_type): When checking the modifiers, keep looking
150 past ones which have been printed already.
151 * testsuite/demangle-expected: Add three test cases.
155 * cp-demangle.c (__cxa_demangle): Adjust last patch to handle
156 empty string correctly.
158 * cp-demangle.c (__cxa_demangle): It is not an error if status is
159 not NULL. It is an error if the mangled name is the same as a
161 (main): If IN_GLIBCPP_V3 is defined, test __cxa_demangle rather
162 than cplus_demangle_v3.
164 * dyn-string.c: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
165 the associated #define of RETURN_ON_ALLOCATION_FAILURE.
169 * regex.c: Include <ansidecl.h>.
170 (regcomp): Cast i to int.
171 (regerror): Add ATTRIBUTE_UNUSED to parameter preg.
175 * configure.ac: Add m4_pattern_allow(LIBOBJS).
176 * configure: Regenerate.
180 * Makefile.in: Convert to ./ throughout. Rebuild dependencies
181 with explicit build rules.
184 * configure.ac (pexecute, LIBOBJS): Add ./ .
185 * maint-tool: Build dependencies with explicit rules.
189 * strdup.c (strdup): Constify the argument.
193 * Makefile.in (distclean): Remove config.cache.
197 * cp-demangle.c (d_make_comp): DEMANGLE_COMPONENT_CONSTRUCTION_VTABLE
198 takes two parameters.
199 * cp-demint.c (cplus_demangle_fill_component): Likewise.
203 * cp-demangle.c: Include "cp-demangle.h". If IN_GLIBCPP_V3 is
204 defined, rename some functions which are to become static via
206 (CP_STATIC_IF_GLIBCPP_V3): Define.
207 (struct d_operator_info): Move definition to cp-demangle.h, and
208 rename to demangle_operator_info. Change all uses.
209 (enum d_builtin_type_print): Move definition to cp-demangle.h.
210 (struct d_builtin_type_info): Move definition to cp-demangle.h,
211 and rename to demangle_builtin_type_info. Change all uses.
212 (enum d_comp_type): Move definition to include/demangle.h, and
213 rename to demangle_component_type, and change all enums to start
214 with DEMANGLE_COMPONENT_ instead of D_. Change all uses.
215 (struct d_comp): Move definition to include/demangle.h, and rename
216 to demangle_component. Change all uses.
217 (struct d_info): Move definition to cp-demangle.h.
218 (cplus_demangle_fill_name): New function.
219 (cplus_demangle_fill_extended_operator): New function.
220 (cplus_demangle_fill_ctor): New function.
221 (cplus_demangle_fill_dtor): New function.
222 (d_make_empty): Remove type parameter. Change all callers.
223 (d_make_name): Use cplus_demangle_fill_name.
224 (d_make_extended_operator): Use
225 cplus_demangle_fill_extended_operator.
226 (d_make_ctor): Use cplus_demangle_fill_ctor.
227 (d_make_dtor): Use cplus_demangle_fill_dtor.
228 (cplus_demangle_mangled_name): Rename from d_mangled_name. Make
229 non-static by default. Change all callers.
230 (cplus_demangle_operators): Rename from d_operators. Change all
231 uses. Make non-static by default. Add sentinel at end of array.
232 (d_operator_name): Adjust initialization of high for new sentinel
233 in cplus_demangle_operators.
234 (cplus_demangle_builtin_types): Rename from d_builtin_types.
235 Change all uses. Make non-static by default. Change initializer
236 to use D_BUILTIN_TYPE_COUNT instead of magic number 26.
237 (cplus_demangle_type): Rename from d_type. Make non-static by
238 default. Change all callers.
239 (cplus_demangle_init_info): Rename from d_init_info. Make
240 non-static by default. Change all callers.
241 * cp-demangle.h: New file.
242 * cp-demint.c: New file.
243 * Makefile.in: Rebuild dependencies.
244 (CFILES): Add cp-demint.c.
245 (REQUIRED_OFILES): Add cp-demint.o.
249 * configure.in: Rename file to ...
250 * configure.ac: ... this.
251 * Makefile.in: Update a comment for above change.
253 * config.in: Regenerate.
257 * cp-demangle.c (d_encoding): When DMGL_PARAMS is not set, strip
258 CV-qualifiers from D_COMP_LOCAL_NAME right subtree.
259 * cplus-dem.c (demangle_arm_hp_template): Set DMGL_PARAMS when
260 demangling template parameters.
261 * testsuite/test-demangle.c (fail): New static function.
262 (main): Support new options in input file: --no-params,
263 --is-v3-ctor, and --is-v3-dtor.
264 * testsuite/demangle-expected: Add --no-params to most tests, and
265 add the correct result when parameters are not demangled. Add
266 some simple tests for V3 constructor/destructor recognition.
270 * cp-demangle.c (is_ctor_or_dtor): Fix error in last change.
275 * Makefile.in (lbasename.o): Depend on filenames.h.
276 * lbasename.c: Include "filenames.h" instead of defining
281 * cp-demangle.c (CP_DYNAMIC_ARRAYS): Define if compiler supports
283 (struct d_operator_info): Add len field.
284 (struct d_builtin_type_info): Add len and java_len fields.
285 (struct d_standard_sub_info): Add simple_len, full_len, and
286 set_last_name_len fields.
287 (struct d_comp): Add len field to s_string.
288 (struct d_info): Add send, did_subs, and expansion fields.
289 (d_append_string_constant): Define.
290 (d_append_string): Remove. Change all users to use
291 d_append_string_constant or d_append_buffer instead.
292 (d_make_sub): Add len parameter. Change all callers.
293 (d_name): Increase expansion when substituting std::.
294 (d_unqualified_name): Increase expansion for an operator.
295 (d_number): Don't use multiplication for negative numbers.
296 (d_identifier): Make sure there are enough characters in the
297 string for the specified length. Adjust expansion for an
299 (d_operators): Initialize len field.
300 (d_special_name, d_ctor_dtor_name): Increase expansion.
301 (d_builtin_types): Initialize len and java_len fields.
302 (d_type): Increase expansion for a builtin type.
303 (d_cv_qualifiers): Increase expansion for each qualifier.
304 (d_bare_function_type): Decrease expansion when removing single
306 (d_template_param): Increment did_subs.
307 (d_expression): Increase expansion for an operator.
308 (d_expr_primary): Decrease expansion for a type we will print
310 (standard_subs): Initialize new fields.
311 (d_substitution): Increment did_subs when doing a normal
312 substitution. Increase expansion for a special substitution.
313 (d_print): Add estimate parameter. Change all callers.
314 (d_print_comp) [D_COMP_NAME]: Handle C++ case inline.
315 (d_print_comp) [D_COMP_BINARY]: Use length to avoid strcmp call.
316 (d_print_java_identifier): Rename from d_print_identifier. Handle
317 only Java case. Change caller.
318 (d_init_info): Change return type to void. Change all callers.
319 Initialize send, did_subs, and expansion fields. Do not
320 initialize comps and subs fields.
321 (d_demangle): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and subs
322 arrays on stack. Make an estimate of the length of the demangled
323 name. Ifdef CP_DEMANGLE_DEBUG, print estimation failures.
324 (is_ctor_or_dtor): Ifdef CP_DYNAMIC_ARRAYS, allocate comps and
325 subs arrays on stack.
329 * cp-demangle.c (d_identifier): In Java mode, skip an optional '$'
330 after the identifier.
331 * testsuite/demangle-expected: Add test case.
335 Fix for PR c++/13447:
336 * cp-demangle.c (enum d_comp_type): Add D_COMP_LOCAL_NAME.
337 (d_dump, d_make_comp): Handle D_COMP_LOCAL_NAME.
338 (is_ctor_dtor_or_conversion): Handle D_COMP_LOCAL_NAME like
340 (is_ctor_or_dtor): Likewise.
341 (d_local_name): Use D_COMP_LOCAL_NAME rather than
343 (d_print_comp) [D_COMP_LOCAL_NAME]: New.
344 (d_prinT_comp) [D_COMP_TYPED_NAME]: If the left tree is
345 D_COMP_LOCAL_NAME, pull any qualifiers off its right subtree.
346 (d_print_mod_list): Handle D_COMP_LOCAL_NAME.
347 * testsuite/demangle-expected: Add two test cases.
349 * cp-demangle.c (d_print_function_type): Clear the global modifier
350 list when printing the modifiers, not just when printing the
352 * testsuite/demangle-expected: Add two test cases.
356 * cp-demangle.c (d_print_function_type): Print the function
357 parameters with no modifiers.
358 * testsuite/demangle-expected: Add test case.
360 * cp-demangle.c (d_demangle): If DMGL_PARAMS is not set, don't
361 expect that we've read the entire string.
362 (is_ctor_or_dtor): Don't expect that we've read the entire
363 string--reverse patch of 2003-11-29.
367 * libiberty/Makefile.in (floatformat.o): Add dependency on
368 config.h to accompany change of 2003-12-03.
372 Fix handling of constructor/destructor of standard substitution:
373 * cp-demangle.c (struct d_standard_sub_info): Define.
374 (d_substitution): Add prefix argument. Change all callers.
375 Rework handling of standard substitutions to print full name when
376 qualifying a constructor/destructor, or when DMGL_VERBOSE is set.
377 * testsuite/demangle-expected: Add test case.
379 Fix handling of negative literal constants:
380 * cp-demangle.c (enum d_comp_type): Add D_COMP_LITERAL_NEG.
381 (d_dump, d_make_comp): Handle D_COMP_LITERAL_NEG.
382 (d_expr_primary): Use D_COMP_LITERAL_NEG for a negative number.
383 (d_print_comp): Handle D_COMP_LITERAL_NEG.
384 * testsuite/demangle-expected: Add test case.
388 * cp-demangle.c (IS_UPPER, IS_LOWER): Define.
389 (d_last_char): Define new macro.
390 (d_make_name): Reject an empty name.
391 (d_prefix, d_unqualified_name, d_type): Use new IS_* macros.
392 (d_substitution, d_print_identifier): Likewise.
393 (d_print_comp) [D_COMP_OPERATOR]: Likewise.
394 (d_print_comp) [D_COMP_TEMPLATE]: Use new d_last_char macro.
395 (d_print_mod) Use new d_last_char macro.
396 (d_print_cast): Use new d_last_char macro.
397 (is_ctor_or_dtor): Don't leak memory.
399 Fix handling of member function modifiers:
400 * cp-demangle.c (enum d_comp_type): Add D_COMP_RESTRICT_THIS,
401 D_COMP_VOLATILE_THIS, and D_COMP_CONST_THIS.
402 (d_dump): Dump new d_comp_type values.
403 (d_make_comp): Accept new d_comp_type values.
404 (has_return_type): Only accept _THIS variants of qualifiers.
405 (d_encoding): Without DMGL_PARAMS, only remove _THIS variants of
407 (d_cv_qualifiers): Add member_fn parameter. Change all callers.
408 (d_print_comp) [D_COMP_TYPED_NAME]: Rather than removing
409 qualifiers and printing them at the end, add _THIS qualifiers to
411 (d_print_comp) [D_COMP_*_THIS]: New cases.
412 (d_print_comp) [D_COMP_PTRMEM_TYPE]: Remove special handling of
414 (d_print_mod_list): Add suffix parameter. Change all callers.
415 Keep walking the list even if the current modifier has been
417 (d_print_mod): Handle new _THIS qualifiers.
418 (d_print_function_type): Handle new _THIS qualifiers when deciding
419 whether to print a parenthesis. Put a space before the
420 parenthesis in some cases. Call d_print_mod_list again at the
421 end, passing suffix as 1.
422 (is_ctor_or_dtor): Look for new _THIS qualifiers.
423 * testsuite/demangle-expected: Add test case.
425 Fix for PR gcc/13304:
426 * cp-demangle.c (d_print_comp) [D_COMP_TEMPLATE]: If the character
427 before the '<' is itself a '<', insert a space.
428 (d_print_cast): Likewise.
429 * testsuite/demangle-expected: Add test case.
431 Fix for PR gcc/13244:
432 * cp-demangle.c (d_print_comp) [D_COMP_BINARY]: Wrap an expression
433 which uses the '>' operator in an extra layer of parens.
434 * testsuite/demangle-expected: Add test case.
438 * floatformat.c: Include "config.h" and <string.h> if available.
439 (INFINITY, NAN): Define if not defined by <math.h>.
440 (floatformat_to_double): Handle NaN, infinity, and denormalized
442 (floatformat_from_double): Likewise.
443 (ieee_test): In debugging code, use little endian rather than big
444 endian. Correct tests to handle NaN and to check correct sign of
445 zero. Omit m68k extended test.
446 (main): Add more debugging cases.
450 * cp-demangle.c (d_demangle): Only return success if we consumed
451 the entire demangled string.
452 (is_ctor_or_dtor): Likewise.
454 * testsuite/demangle-expected: Revert one part of 2003-06-26 patch
455 to restore expected result of EDG test case to original expected
460 * cp-demangle.c (struct d_print_mod): Add templates field.
461 (d_make_builtin_type): Check for NULL type.
462 (d_make_extended_operator): Check for NULL name.
463 (d_make_ctor, d_make_dtor): Likewise.
464 (d_mangled_name): Add top_level parameter. Change all callers.
465 (d_encoding): If DMGL_PARAMS is not set, strip off initial
467 (d_type): Check some return values we rely on.
468 (d_bare_function_type, d_array_type): Likewise.
469 (d_pointer_to_member_type, d_template_args): Likewise.
470 (d_add_substitution): Fail if argument is NULL.
471 (d_print_resize): Check whether buf is NULL.
472 (d_print_comp): Save current templates list with each modifier.
473 Don't pass the modifier list down when printing a template.
474 (d_print_cast): Don't pass the modifier list down when printing a
476 (d_print_mod_list): Temporarily set templates list while printing
478 (d_print_mod): Check that buf is not NULL before using it.
479 (d_print_function_type): Print parens if there is no modifier.
480 (d_init_info): Permit as many substitutions as there are
481 characters in the mangled name.
482 * testsuite/demangle-expected: Add two new test cases.
486 * cp-demangle.c (java_demangle_v3): Pass DMGL_PARAMS to
491 * cp-demangle.c (d_encoding): Add top_level parameter. Change all
493 (print_usage): Display new -p option.
494 (long_options): Add --no-params.
495 (main): Accept and handle -p.
499 * cp-demangle.c (has_return_type): Skip qualifiers when checking
500 whether we have a template.
501 * testsuite/demangle-expected: Add four new tests.
505 * testsuite/demangle-expected: Minor changes to match output of
506 new demangler: adjust whitespace in four tests, and change order
507 of qualifiers in one test.
509 * cp-demangle.c: Complete rewrite.
513 * cp-demangle.c (demangle_type): Correct thinko in substitution
518 * cp-demangle.c (demangle_operator_name): Remove space before
520 (demangle_type_ptr): Put qualifiers in the right place. Handle
521 qualifiers in pointer to member specially.
522 (demangle_type): Handle qualifiers for pointer or reference
523 specially. Handle function type.
524 (demangle_local_name): Save and restore caret around demangling of
527 * testsuite/test-demangle.c (main): Don't pass DMGL_VERBOSE to
530 * testsuite/Makefile.in (test-demangle): Depend upon libiberty.a.
534 * floatformat.c (floatformat_always_valid): Add unused attribute.
539 * vasprintf.c (int_vasprintf): Pass va_list by value.
540 Use va_copy for copying va_list.
541 (vasprintf): Pass va_list by value.
545 * hashtab.c (htab_find_slot_with_hash): Decrease n_deleted
546 instead of increasing n_elements when inserting to deleted slot.
550 * cplus-dem.c (demangle_template): Register a new Btype only
552 * testsuite/demangle-expected: Add a new test.
556 * testsuite/demangle-expected: Update the expected output of
561 * strerror.c: Revert last change. Declare static sys_nerr
562 and sys_errlist using different names.
566 * strerror.c: Don't provide or reference sys_errlist if
567 strerror is available.
571 * configure.in: Check if $MAKEINFO is missing.
572 * configure: Regenerated.
576 * configure.in: Use AC_PROG_CPP_WERROR.
577 * configure: Regenerated.
581 * floatformat.c (floatformat_i387_ext_is_valid): New function.
582 (floatformat_always_valid): New function.
583 (floatformat_i387_ext): Initialize new "is_valid" field to
584 "floatformat_i387_ext_is_valid".
585 (floatformat_ieee_single_little): Initialize "is_valid" field to
586 floatformat_always_valid.
587 (floatformat_ieee_double_big): Ditto.
588 (floatformat_ieee_double_little): Ditto.
589 (floatformat_ieee_double_little): Ditto.
590 (floatformat_ieee_double_littlebyte_bigword): Ditto.
591 (floatformat_i960_ext): Ditto.
592 (floatformat_m88110_ext): Ditto.
593 (floatformat_m88110_harris_ext): Ditto.
594 (floatformat_arm_ext_big): Ditto.
595 (floatformat_arm_ext_littlebyte_bigword): Ditto.
596 (floatformat_ia64_spill_big): Ditto.
597 (floatformat_ia64_spill_little): Ditto.
598 (floatformat_ia64_quad_big): Ditto.
599 (floatformat_ia64_quad_little): Ditto.
600 (floatformat_ia64_quad_little): Ditto.
601 (floatformat_is_valid): Call "is_valid".
605 * floatformat.c (get_field): Make "data" constant.
606 (floatformat_is_valid, floatformat_to_double): Make "from"
608 (floatformat_from_double): Make "from" constant.
612 * floatformat.c (floatformat_is_valid): New function.
613 (get_field, put_field): Correct comments.
617 * fibheap.c (fibheap_replace_key_data): Change type of OKEY to
623 * aclocal.m4 (AC_LANG_FUNC_LINK_TRY): Define.
624 * configure: Rebuilt.
628 * aclocal.m4: Include acx.m4 and no-executables.m4.
629 (libiberty_AC_FUNC_STRNCMP): Use AC_LIBOBJ.
630 (LIB_AC_PROG_CC): Remove.
631 * configure.in: Update AC_PREREQ to 2.57. Use GCC_NO_EXECUTABLES.
632 Use AC_PROG_CC and set ac_libiberty_warn_cflags instead of using
633 LIB_AC_PROG_CC. Use AC_LIBOBJ. Call AC_ISC_POSIX later, only if
634 performing link tests.
635 * configure: Regenerated.
639 * cp-demangle.c: Clarify what package(s) this is part of.
643 * pex-win32.c (pexecute): Mark parameters this_pname and
644 temp_base as unused. Remove unused variables retries,
645 sleep_interval. Initialize org_stdin, org_stdout.
646 (pwait): Mark parameter flags as unused.
650 * pex-win32.c (fix_argv): Ensure that the executable pathname
651 uses Win32 backslashes.
652 (pexecute): Cast away constness when assigning *errmsg_arg.
656 * testsuite/demangle-expected: Add more GNU V3 testcases.
660 * safe-ctype.c: Use HOST_CHARSET_ASCII and HOST_CHARSET_EBCDIC,
661 not HC_ASCII and HC_EBCDIC.
662 Add documentation in form expected by gather-docs.
663 * hex.c: Use HOST_CHARSET, not hand-coded check of character set.
664 * Makefile.in, functions.texi: Regenerate.
668 * safe-ctype.c: Separate out EOF==-1 check. Use HOST_CHARSET
669 for charset determination.
673 * configure.in: Add check for malloc.h needed by
674 m68k for function free().
675 * configure: Regenerated.
676 * config.in: Add HAVE_MALLOC_H.
677 * hashtab.c: include malloc.h were available for
683 * physmem.c: Update comment.
684 * configure.in: Modify test for _system_configuration for older
687 * config.in, configure: Regenerated.
692 * test-demangle.c (getline): Fix fence-post error.
696 * asprintf.c: Change comment to note that -1 is returned upon
698 * vasprintf.c: Likewise.
699 (vasprintf): Return -1 upon error.
700 * functions.texi: Document changes to asprintf and vasprintf.
704 * config.table: Accept i[345867]86 variant.
708 * hex.c (_hex_value): Make this unsigned.
709 (hex_value): Update documentation for new return type. hex_value
710 now expands to an unsigned int expression, to avoid unexpected
711 sign extension when we store it in a bfd_vma, which is larger than
712 int on some platforms.
713 * functions.texi: Regenerated.
717 * splay-tree.c (splay_tree_predecessor): Fix comment.
718 (splay_tree_successor): Fix comment.
722 * hashtab.c (iterative_hash): New fn.
723 * configure.in: Add AC_C_BIGENDIAN_CROSS.
724 * aclocal.m4: Include accross.m4.
725 * configure, config.in: Regenerate.
729 * configure.in (AC_CHECK_FUNCS): Don't make multiple calls.
730 * configure: Regenerate.
734 * cp-demangle.c: Fix typo in "char_traints" string-literal.
738 * vsnprintf.c (vsnprintf): Don't pad string with extra nulls.
739 (main): Test that we don't write too much data.
743 * configure.in (funcs, AC_CHECK_FUNCS): Add snprintf and
745 * snprintf.c, vsnprintf.c: New files.
746 * Makefile.in (CFILES): Add snprintf.c and vsnprintf.c.
747 (CONFIGURED_OFILES): Add snprintf.o and vsnprintf.o.
748 Regenerate dependencies.
750 * functions.texi, configure, config.in: Regenerated.
754 * mempcpy.c, stpcpy.c, stpncpy.c: New files.
755 * configure.in (funcs, AC_CHECK_FUNCS): Add mempcpy, stpcpy
757 * Makefile.in (CFILES): Add mempcpy.c, stpcpy.c and stpncpy.c.
758 (CONFIGURED_OFILES): Add mempcpy.o, stpcpy.o and stpncpy.o.
759 Regenerate dependencies.
761 * functions.texi, configure, config.in: Regenerated.
765 * argv.c: Fix comments.
766 * calloc.c: Don't unnecessarily include "libiberty.h".
767 (bzero): Add prototype.
768 * floatformat.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
769 * getcwd.c (getcwd): Use standard definition to avoid conflicts
771 * hashtab.c (htab_traverse): Delete unused variables.
772 * rename.c: Include "ansidecl.h".
773 (rename): Use standard definition to avoid conflicts with system
775 * strsignal.c: Rely on ANSI_PROTOTYPES.
776 * strstr.c: Check GNUC >= 2, not GNUC == 2.
777 * vfprintf.c: Include "ansidecl.h", rely on ANSI_PROTOTYPES.
778 * vprintf.c: Include "ansidecl.h" earlier, rely on
780 * vsprintf.c: Include "ansidecl.h" earlier, rely on
781 ANSI_PROTOTYPES and possibly include <stdarg.h>.
783 * Makefile.in: Regenerate dependencies.
787 * maint-tool (deps): Scan for headers in $srcdir also.
794 * getopt.c (exchange, _getopt_initialize): Use mempcpy not
796 * regex.c (regerror): Likewise.
800 * argv.c: Use ANSI_PROTOTYPES instead of __STDC__.
801 * memchr.c: Likewise.
802 * strcasecmp.c: Likewise.
803 * strncasecmp.c: Likewise.
804 * strncmp.c: Likewise.
805 * xatexit.c: Likewise.
806 * xmalloc.c: Likewise.
808 * copysign.c: Use traditional function declaration instead of DEFUN.
809 * sigsetmask.c: Likewise.
811 * memcmp.c: Both of the above, ANSI_PROTOTYPES and DEFUN.
812 * memset.c: Likewise.
814 * memcpy.c: ANSI_PROTOTYPES, DEFUN and prototype bcopy.
815 * memmove.c: Likewise.
819 * strdup.c (strdup): Tweak implementation to use memcpy.
823 * configure.in (HAVE_UINTPTR_T): Always define.
824 * configure: Regenerated.
828 * Makefile.in (MULTIOSDIR): New macro. Use $(CC) $(LIBCFLAGS)
829 instead of $$CC alone.
830 (install_to_tooldir): Use it.
834 * hashtab.c (htab_traverse_noresize): Break out from ...
835 * hashtab.c (htab_traverse): ... here.
839 * hashtab.c (htab_expand): Fix warning.
841 * hashtab.c (htab_expand): Compute the size of hashtable based
842 on the number of elements actually used.
843 (htab_traverse): Call htab_expand when table is too empty.
847 * cplus-dem.c (demangle_integral_value): Correction to reflect
848 patch of 2002-01-10 in order to also make negative multi-digits
849 without leading underscore work.
853 * cplus-dem.c: Add license exception to copyright notice.
857 * physmem.c: Formatting changes from upstream.
861 * physmem.c (physmem_total): Add _WIN32 support.
862 (physmem_available): Likewise.
866 * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Test for
868 (physmem_available) [HAVE_TABLE]: Test for TBL_VMSTATS.
872 * configure.in: Check for sys/systemcfg.h and
873 _system_configuration.
874 * physmem.c: Add support for AIX. Tweek formatting as per
875 upstream coreutils beta.
881 * configure.in: Check for sys/sysctl.h and sysctl.
882 * physmem.c: Add support for *bsd and darwin.
883 * Makefile.in: Generate depedency for physmem.o.
887 * physmem.c (physmem_total) [HAVE_GETSYSINFO]: Use getsysinfo on
889 (physmem_available) [HAVE_TABLE && HAVE_SYS_TABLE_H]: Use table on
892 * configure.in (AC_CHECK_HEADERS): Check for sys/sysinfo.h,
893 machine/hal_sysinfo.h, sys/table.h.
894 (checkfuncs, AC_CHECKFUNCS): Check for getsysinfo, table.
895 * configure, config.in: Regenerate.
899 * configure.in: Check for sys/sysmp.h and sysmp.
900 * physmem.c: Pull upstream copy, add support for irix6.
902 * config.in, configure: Regenerated.
906 * physmem.c (physmem_total, physmem_available): De-ANSI-fy.
907 * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and
912 * Makefile.in (CFILES): Add physmem.c.
913 (REQUIRED_OFILES): Add physmem.o.
914 * configure.in: Check for sys/pstat.h.
915 (checkfuncs): Add pstat_getstatic and pstat_getdynamic.
916 * physmem.c: New file, copied from textutils.
918 * config.in, configure: Regenerated.
922 * Makefile.in (CFILES): Add lrealpath.c.
923 (REQUIRED_OFILES): Add lrealpath.o.
924 (lrealpath.o): Add rule.
925 * aclocal.m4 (libiberty_NEED_DECLARATION): Add.
926 * configure.in: Add realpath and canonicalize_file_name to
927 checkfuncs and AC_CHECK_FUNCS. Use libiberty_NEED_DECLARATION
928 for canonicalize_file_name.
929 * lrealpath.c: New file.
930 * make-relative-prefix.c: Update documentation.
931 (make_relative_prefix): Simplify. Use lbasename and lrealpath.
932 * config.in: Regenerated.
933 * configure: Regenerated.
934 * functions.texi: Regenerated.
938 * cplus_dem.c: Fix typo: intializes -> initializes.
942 * configure.in: Propagate ORIGINAL_LD_FOR_MULTILIBS to
944 * configure: Rebuilt.
949 * cplus-dem.c (demangle_signature): Call string_delete.
950 Remove extra string_init.
951 (demangle_arm_hp_template): Call string_delete instead of
952 string_clear. Add missing string_delete call.
953 (demangle_qualified): Add missing string_delete call.
954 (do_type): Remove unused variable btype. Add missing string_delete
955 call. Call string_delete instead of string_clear.
956 (demangle_fund_type): Move variable btype inside of the switch
957 statement. Add missing string_delete call.
958 (do_arg): Call string_delete instead of string_clear. Remove extra
960 (demangle_nested_args): Free work->previous_argument.
964 * acconfig.h: New file. Add uintptr_t.
965 * config.in: Regenerated.
969 * libiberty.texi: Update to GFDL 1.2.
973 * Makefile.in (libiberty_topdir): New subst.
974 (mkinstalldirs): Redefine in terms of the above.
975 * configure.in: AC_SUBST it.
976 * configure: Regenerate.
980 * Makefile.in (all-subdir, check-subdir, installcheck-subdir)
981 (info-subdir, install-info-subdir, clean-info-subdir)
982 (dvi-subdir, install-subdir, etags-subdir, mostlyclean-subdir)
983 (clean-subdir, distclean-subdir, maintainer-clean-subdir):
984 Pass $(FLAGS_TO_PASS).
988 * Makefile.in (install_to_tooldir): Instead of $(MULTISUBDIR), use
989 /`$$CC -print-multi-os-directory`.
993 * hashtab.c (htab_create_alloc_ex): New function.
994 (hatab_set_functions_ex): New function.
995 (htab_delete, htab_expand): Support alternate allocation functions.
999 * configure.in: Remove special pex-cygwin consideration.
1000 * configure: Regenerate.
1001 * pex-cygwin.c: Remove.
1002 * Makefile.in: Remove pex-cygwin.[co] lines.
1006 * Makefile.in (CFILES): Add pex-*.c.
1007 (REQUIRED_OFILES): Change pexecute.o to @pexecute@
1008 (CONFIGURED_OFILES): Add pex-*.o.
1009 (TEXIFILES): Add pexecute.txh.
1010 (pexecute.o): Delete rule.
1011 (pex-cygwin.o, pex-djgpp.o, pex-mpw.o, pex-msdos.o, pex-os2.o,
1012 pex-unix.o, pex-win32.o): New rules.
1013 * configure.in: Change AC_INIT argument to xmalloc.c.
1014 Compute appropriate pexecute implementation and substitute it
1017 * pexecute.c: Split up into...
1018 * pex-cygwin.c, pex-djgpp.c, pex-mpw.c, pex-msdos.c, pex-os2.c,
1019 pex-unix.c, pex-win32.c, pex-common.h, pexecute.txh: ... these
1022 * functions.texi: Regenerate.
1023 * configure: Regenerate.
1027 * hashtab.c (htab_expand): Fix allocation of new entries.
1031 * Makefile.in (FLAGS_TO_PASS): Also pass DESTDIR.
1033 * Makefile.in (install_to_libdir, install_to_tooldir): Add a
1034 mkinstalldirs command.
1038 * make-relative-prefix.c (HAVE_HOST_EXECUTABLE_SUFFIX):
1039 Define for hosts with HOST_EXECUTABLE_SUFFIX.
1043 * make-relative-prefix.c (make_relative_prefix): Ensure return
1044 string is empty before using strcat to construct it.
1048 * Makefile.in: Add make-relative-prefix.c.
1049 * make-relative-prefix.c: New file.
1050 * functions.texi: Rebuilt.
1054 * md5.c (md5_process_block): Avoid `function-like macro "F{G,H,I}" must be
1055 used with arguments in traditional C' warnings.
1059 * config.table: Use mh-s390pic for s390x too.
1063 * libiberty/cplus-dem.c (ada_demangle): Get rid of unneeded
1064 variable and of strict-aliasing warning.
1065 (grow_vect): Use char as first parameter.
1069 * Makefile.in (all): Fix multilib parallel build.
1073 * cp-demangle.c (demangling_new): Cast 0 to enum.
1074 (demangle_char): Cast return of strdup to char *.
1075 (is_gnu_v3_mangled_ctor): Cast 0 to enum.
1076 (is_gnu_v3_mangled_dtor): Likewise.
1077 * cplus-dem.c (grow_vect): Cast return of xrealloc to void *.
1078 (work_stuff_copy_to_from): Cast return of xmalloc to char **.
1079 * fibheap.c (fibnode_new): Cast return of xcalloc to fibnode_t.
1080 * md5.c (md5_process_bytes): Cast results back to const void *.
1081 (md5_process_block): Add cast to const md5_uint32 *.
1082 * regex.c (re_compile_fastmap): Cast enum to UCHAR_T.
1083 * safe-ctype.c (L, XL, U, XU, D, P, _, C, Z, M, V, T, S): Add cast to
1085 * splay-tree.c (splay_tree_xmalloc_allocate): Cast return of xmalloc
1087 * vasprintf.c (int_vasprintf): Cast return of malloc to char *.
1091 * README: Update email addresses for bugs and patches.
1095 * splay-tree.c (splay_tree_successor): Fix comments.
1099 * cplus-dem.c: Code under #ifdef MAIN moved to gcc/cp/cxxfilt.c.
1100 * testsuite/Makefile.in: Adjust for test-demangle.
1101 * testsuite/regress-demangle: Deleted.
1102 * testsuite/test-demangle.c: New file.
1103 * testsuite/demangle-expected: Change \$ to $ throughout, now that
1104 this file is not being read by a shell script.
1108 * regex.c: Only use "#pragma alloca" on AIX when not using gcc.
1112 * regex.c (re_error_msgid): Just use a simple array of strings.
1113 (re_compile_pattern): Compensate.
1114 (re_comp): Likewise.
1115 (re_comp): Likewise.
1116 (regerror): Likewise.
1120 * cplus-dem.c (PREPEND_BLANK): Remove.
1124 * cp-demangle.c (demangle_identifier): Support extended Unicode
1129 * cp-demangle.c (demangle_v3_with_details): Wrap in
1130 !defined IN_GLIBCPP_V3.
1134 * cp-demangle.c (demangle_operator_name): Add type_arg parameter.
1135 Set it for the "st" operator.
1136 (demangle_expression): Handle expressions with types as arguments.
1140 * configure.in (OUTPUT_OPTION,NO_MINUS_C_MINUS_O): Configure.
1141 * Makefile.in (OUTPUT_OPTION): Use.
1145 * Makefile.in (install_to_libdir): Add $(DESTDIR).
1146 (install_to_tooldir): Likewise.
1150 * lbasename.c: Add 2002 to copyright.
1151 (IS_DIR_SEPARATOR): Remove VMS junk.
1155 * hashtab.c (htab_create): New stub function for backward
1157 (htab_try_create): Likewise.
1161 * hashtab.c (htab_create): Delete.
1162 (htab_try_create): Delete.
1163 (htab_create_alloc): New.
1164 (htab_delete): Support user-specified memory allocation.
1165 (htab_expand): Likewise.
1169 * configure.in: Fix typo in the code checking for sys_errlist.
1170 * configure: Regenerated.
1174 * config.table: Use mh-x86pic also for x86-64.
1178 * configure.in (ORIGINAL_LD_FOR_MULTILIBS): Preserve LD at
1179 script entry, and set LD to it when configuring multilibs.
1180 * configure: Rebuilt.
1184 * configure.in (AC_TYPE_PID_T): Use it.
1185 * configure: Regenerated.
1186 * getruntime.c: Include <sys/types.h>.
1187 * waitpid.c: Likewise. Use pid_t, not int, as the type of "pid".
1191 * hashtab.c (higher_prime_number): Use 7 as minimum.
1192 (find_empty_slot_for_expand): Don't compute hash2 unless needed.
1193 (htab_find_slot_with_hash): Likewise.
1197 * cp-demangle.c (__cxa_demangle): Also protect with IN_GLIBCPP_V3.
1198 (is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_ctor): Conditionally
1199 not compile if IN_GLIBCPP_V3 defined.
1200 * dyn-string.c: Also allow IN_GLIBCPP_V3 to change allocation scheme.
1204 * cp-demangle.c (java_demangle_v3): Don't try to release "demangled"
1209 * hex.c: Add documentation.
1210 (_hex_value): Provide non-ASCII empty table.
1211 (hex_init): Initialize the non-ASCII table.
1212 * functions.texi: Regenerate.
1216 * dyn-string.c: Add libgcc exception to copyright notice.
1220 * config.table: Support --with-build-subdir.
1221 * configure.in: Likewise.
1222 * configure: Rebuild.
1226 * strtod.c (strtod): Increment 8 chars, not 7, when `infinity'
1231 * cp-demangle.c: Add libgcc exception to cp-demangle.c copyright
1236 * xatexit.c [VMS]: Include stdlib.h and unixlib.h.
1240 * splay-tree.c (splay_tree_xmalloc_allocate,
1241 splay_tree_xmalloc_deallocate): Use K&R-style definitions, not
1242 prototyped definitions. Mark `data' arguments as unused.
1246 * floatformat.c (floatformat_arm_ext_big): Delete definition.
1250 * configure.in: Add --enable-install-libiberty option.
1251 * Makefile.in (INSTALLED_HEADERS): New variable.
1252 (install_to_libdir): Possibly also copy headers.
1253 * configure: Regenerated.
1257 * xmalloc.c (xmalloc_fail): Clarify error message further.
1261 * xmalloc.c (xmalloc_fail): Clarify error message.
1265 * splay-tree.c (splay_tree_xmalloc_allocate,
1266 splay_tree_xmalloc_deallocate): New functions.
1267 (splay_tree_new): Call splay_tree_new_with_allocator, passing the
1268 above functions and a dummy data pointer.
1269 (splay_tree_new_with_allocator): New function.
1270 (splay_tree_delete_helper, splay_tree_delete, splay_tree_insert,
1271 splay_tree_remove): Use the splay tree's allocation and
1272 deallocation functions.
1276 * testsuite/demangle-expected: Add test case for infinite loop in
1278 * cplus-dem.c (demangle_arm_hp_template): Stop trying to demangle
1279 if do_type() doesn't make any progress --- prevents an infinite
1285 * cplus-dem.c (demangle_integral_value): Accept multi-digit
1286 numbers that do not start with an underscore; This is needed
1287 for integer template parameters. This doesn't break anything
1288 because multi-digit numbers are never followed by a digit.
1289 * testsuite/demangle-expected: Corrected all mangled test
1290 cases with multi-digit template parameters: g++ 2.95.x does
1291 not generate underscores around these parameters.
1295 * cplus-dem.c (flags): Add DMGL_VERBOSE
1296 (cplus_demangle_v3_p): Remove.
1297 (demangle_it): Add DMGL_TYPES to passed flags.
1298 * cp-demangle.c (cplus_demangle_v3_all): Remove.
1299 (cplus_demangle_v3_type): Remove.
1300 (cplus_demangle_v3): Add options parm.
1304 * cp-demangle.c (cp_demangle_type): Do not protect with
1306 (cplus_demangle_v3_all): New.
1307 (cplus_demangle_v3): Call cplus_demangle_v3_all.
1308 (cplus_demangle_v3_type): Call cplus_demangle_v3_all.
1310 * cplus-dem.c (cplus_demangle_v3_p): New function pointer.
1311 Initialized to cplus_demangle_v3.
1312 (cplus_demangle_with_style): Call cplus_demangle_v3_p instead
1313 of cplus_demangle_v3.
1314 (main): Set cplus_demangle_v3_p to cplus_demangle_v3_type for
1315 command line symbol.
1317 * testsuite/regress-demangle: Pass the mangled name at the
1322 * cp-demangle.c (cp_demangle_type): Call demangling_new with
1327 * cp-demangle.c: Revert yesterday's change.
1331 * gcc/libiberty/configure.in: Treat mingw the same as cywin
1332 wrt HAVE_SYS_ERRLIST.
1336 * cp-demangle.c (cp_demangle_type): Do not protect with IN_LIBGCC2.
1337 (cplus_demangle_v3): Mimic __cxa_demangle and fall back on
1339 * testsuite/demangle-expected: New gnu-v3 test.
1343 * configure.in (variable detection): Use arrays of unspecified
1344 size instead of plain integers.
1348 * Makefile.in (TESTLIB): New. This library is for future
1350 (CFILES, REQUIRED_OFILES, CONFIGURED_OFILES): Re-alphabetize,
1351 break down by letter.
1352 (REQUIRED_OFILES): List long-to-compile files first.
1353 (maint-deps): New, target for updating dependencies.
1354 (dependencies): Update.
1355 * maint-tool: Add dependency-generating option.
1356 * configure.in: Check for _doprnt even if we're not providing it.
1357 * configure: Regenerate.
1359 * _doprnt.c: Modifications to allow compiling on any platform.
1360 * copysign.c: Likewise.
1361 * putenv.c: Likewise.
1362 * setenv.c: Likewise.
1363 * vsprintf.c: Likewise.
1367 * mkstemps.c (mkstemps): On VMS, open temp file with option
1368 that causes it to be deleted when closed.
1372 * cp-demangle.c (long_options): Const-ify.
1373 * cplus-dem.c (long_options): Likewise.
1375 * cplus-dem.c (mystrstr): Delete. All callers changed to use
1380 * aclocal.m4 (libiberty_AC_FUNC_STRNCMP): Use anon mmap as 2nd try.
1381 * configure: Regenerated.
1385 * configure.in (uintptr_t): Use AC_CHECK_TYPE.
1386 * configure: Regenerated.
1391 * cplus-dem.c (consume_count): Treat negative count as an error.
1392 * testsuite/demangle-expected: Added testcase.
1396 * configure.in: Hardcode that vfork works on VMS host.
1397 * configure: Regenerated.
1401 * cplus-dem.c (libiberty_demanglers): Add no_demangling case.
1402 (cplus_demangle): Support no_demangling.
1406 * _doprnt.c: Moved here from gcc/doprint.c. Adjust to build
1407 in libiberty context. Fix typo in leading comment.
1408 * configure.in: Fix various AC_DEFINEs so autoheader works.
1409 If any of vprintf, vsprintf, vfprintf is missing from libc,
1410 then AC_REPLACE_FUNCS(_doprnt).
1415 * Makefile.in (stamp-h): Depend on Makefile for proper
1417 (*-subdir): Depend on config.h for proper serialization.
1421 * configure.in: Check for alloca.h (for regex.c and putenv.c).
1422 * configure: Regenerate.
1423 * config.h: Add HAVE_ALLOCA_H.
1427 * regex.c: Check defined(__STDC__) || defined(ALMOST_STDC) ||
1428 defined(HAVE_STRINGIZE) to determine whether ISO CPP token pasting
1433 * config.in (HAVE_UINTPTR_T): Provide autoconf stub.
1434 * configure.in (HAVE_UINTPTR_T): Test for system defining
1435 uintptr_t and define HAVE_UINTPTR_T appropriately.
1436 * regex.c (uintptr_t): Do not provide a definition if the
1437 system provided one.
1439 * regex.c (PREFIX): Provide an alternate definition for
1440 non-ANSI/ISO compilers.
1441 (ARG_PREFIX): Likewise.
1445 * obstack.c (_): Honor the setting of ENABLE_NLS. Otherwise,
1446 this code would end up calling gettext even in packages built
1448 * getopt.c (_): Likewise.
1449 * regex.c (_): Likewise.
1453 * configure.in: Cope with missing makeinfo.
1454 * configure: Regenerate.
1458 * hex.c (hex_init): Provide empty stub.
1460 * hex.c (hex_init): Delete.
1461 (_hex_value): Const-ify and initialize at compile-time.
1465 * Makefile.in ($(TARGETLIB)): Also generate pic/$(TARGETLIB) if
1470 * argv.c, asprintf.c, choose-temp.c, concat.c, cplus-dem.c,
1471 ffs.c, fnmatch.txh, getruntime.c, make-temp-file.c,
1472 mkstemps.c, pexecute.c, random.c, strsignal.c, vasprintf.c:
1473 Improve manual formatting.
1474 * functions.texi: Regenerate.
1478 * Makefile.in (TEXIFILES): Add fnmatch.txh.
1480 maint-tool: Add "undoc" tool.
1481 * alloca.c, argv.c, asprintf.c, choose-temp.c, concat.c,
1482 fdmatch.c, ffs.c, getruntime.c, insque.c, lbasename.c,
1483 make-temp-file.c, mkstemps.c, pexecute.c, random.c, spaces.c,
1484 strerror.s, strsignal.c, strtol.c, vasprintf.c: Add or update
1487 * functions.texi: Regenerate.
1491 * bcmp.c, setenv.c: Use "nonzero" instead of "non-zero".
1492 * strtod.c: Use "ISO C" instead of "ANSI C".
1493 * functions.texi: Regenerate.
1497 * alloca.c, clock.c, getcwd.c, getpagesize.c, getpwd.c, index.c,
1498 libiberty.texi, memchr.c, putenv.c, rindex.c, strchr.c, strdup.c,
1499 strerror.c, strrchr.c, strstr.c, strtod.c, tmpnam.c, vfork.c,
1500 xatexit.c, xmalloc.c, xstrerror.c: Improve manual formatting. Fix
1501 spelling. Give names to function arguments in documentation. Use
1502 (void) prototypes in documentation.
1503 * functions.texi: Regenerate.
1507 * argv.c (buildargv, tests, main): Const-ify.
1508 * cp-demangle.c (operator_code): Likewise.
1509 * cplus-dem.c (optable, libiberty_demanglers,
1510 cplus_demangle_set_style, cplus_demangle_name_to_style,
1511 print_demangler_list): Likewise.
1512 * hashtab.c (higher_prime_number): Likewise.
1513 * strcasecmp.c (charmap): Likewise.
1514 * strerror.c (error_info, strerror, main): Likewise.
1515 * strncasecmp.c (charmap): Likewise.
1516 * strsignal.c (signal_info): Likewise.
1520 * configure: Regenerate.
1524 * concat.c: Include stdlib.h.
1528 * libiberty.texi: (Top level): Add syncodeindex pg. Add
1529 @dircategory and @direntry directives. Add @finalout.
1530 (many nodes): Lose the next,prev,up pointers on the @nide line.
1531 (Using, Supplemental Functions, Replacement Functions): Fix
1533 (Functions): Move around, to allow makeinfo to build the manual
1534 without next,prev,up pointers in thye node lines.
1535 (Licenses): Fix typos.
1537 * index.c, rindex.c, strchr.c, strerror.c, strrchr.c, strstr.c,
1538 strtol.c, xatexit.c, xexit.c, xmalloc.c: Fix spelling and markup.
1539 * functions.texi: Regenerate.
1541 * copying-lib.texi: Lose the next,prev,up pointers on the @node
1546 * configure.in: Don't use in-tree texinfo, because libiberty must
1547 be built before it. Check for makeinfo version 4 or higher.
1548 * functions.texi: Regenerate.
1553 * configure.in (MAKEINFO, PERL): Detect these.
1554 (--enable-maintainer-mode): Add.
1555 * configure: Regenerate.
1556 * Makefile.in (MAKEINFO, PERL): Define.
1557 (libiberty.info, libiberty.dvi, libiberty.html): New.
1558 (CFILES): Add bsearch.c.
1559 (CONFIGURED_OFILES): New, list of objects configure might add.
1560 (maint-missing, maint-buildall): New, for maintainers only.
1561 (clean, mostlyclean): Add info/dvi/html files.
1562 * libiberty.texi, copying-lib.texi, obstacks.texi, functions.texi: New.
1563 * gather-docs: New, for maintainers.
1564 * maint-tool: New, for maintainers.
1565 * alloca.c, atexit.c, basename.c, bcmp.c, bcopy.c, bsearch.c,
1566 bzero.c, calloc.c, clock.c, configure.in, configure, getcwd.c,
1567 getpagesize.c, getpwd.c, index.c, memchr.c, memcmp.c, memcpy.c,
1568 memmove.c, memset.c, putenv.c, rename.c, rindex.c, setenv.c,
1569 sigsetmask.c, strcasecmp.c, strchr.c, strdup.c, strerror.c,
1570 strncasecmp.c, strncmp.c, strrchr.c, strstr.c, strtod.c, strtol.c,
1571 tmpnam.c, vfork.c, vprintf.c, waitpid.c, xatexit.c, xexit.c,
1572 xmalloc.c, xmemdup.c, xstrdup.c, xstrerror.c: Add or update
1577 * concat.c (reconcat): Fix for traditional C.
1581 * concat.c (reconcat): New function.
1585 * concat.c (vconcat_length, vconcat_copy, concat_length,
1586 concat_copy, concat_copy2): New functions.
1587 (concat): Use vconcat_length/vconcat_copy.
1589 * alloca.c (libiberty_optr, libiberty_nptr, libiberty_len):
1594 * asprintf.c: Don't define USE_STDARG. Use VPARAMS, VA_OPEN,
1595 VA_FIXEDARG & VA_CLOSE.
1597 * vasprintf.c: Check HAVE_STRING_H when including string.h.
1598 (checkit): Delete redundant prototype. Add ATTRIBUTE_PRINTF_1.
1599 Use VA_OPEN, VA_FIXEDARG & VA_CLOSE. Free allocated string.
1603 * concat.c (concat): Use VPARAMS, VA_OPEN, VA_FIXEDARG & VA_CLOSE.
1607 * regex.c (truncate_wchar): Use wcrtomb not wctomb.
1611 * posix/regex.c [_LIBC] (convert_mbs_to_wcs): Use __mbrtowc
1613 [_LIBC]: Use __iswctype instead of iswctype, __wcslen instead of
1614 wcslen, and __wcscoll instead of wcscoll.
1618 * fibheap.c (fibheap_init, fibnode_init): Remove.
1619 (fibheap_new, fibnode_new): Use xcalloc to allocate and
1621 (fibheap_insert): Remove check for node allocation failure.
1625 * Makefile.in (fibheap.o): Depend on config.h.
1626 * fibheap.c: Tidy formatting. Use config.h.` Rearrange some
1627 functions for inlining.
1631 * configure.in: Need to set HAVE_SYS_ERRLIST and HAVE_SYS_NERR whenever
1633 * configure: Regenerate.
1637 * floatformat.c (floatformat_m88110_ext): Remove #ifdef
1638 HARRIS_FLOAT_FORMAT.
1639 (floatformat_ia64_spill_little, floatformat_ia64_quad_little)
1640 (floatformat_ia64_spill_big, floatformat_ia64_quad_big)
1641 (floatformat_arm_ext_big, floatformat_arm_ext_littlebyte_bigword)
1642 (floatformat_m88110_harris_ext): New float formats.
1646 * fibheap.c: New file. Fibonacci heap.
1648 * Makefile.in (CFILES): Add fibheap.c.
1649 (REQUIRED_OFILES): Add fibheap.o.
1650 (fibheap.o): Add dependencies for fibheap.o.
1654 * configure.in: Always set HAVE_SYS_ERRLIST when targetting cygwin.
1655 * configure: Regenerate.
1659 * hashtab.c (htab_hash_string): New.
1663 * floatformat.c (floatformat_ieee_double_littlebyte_bigword): Fix
1668 * regex.c (wcs_regex_compile): Use appropriate string
1669 to compare with collating element.
1670 Fix the padding for the alignment.
1674 * lbasename.c (lbasename): Change function definition to return a
1679 * cp-demangle.c (demangle_special_name): "GR" -> "reference temporary
1684 * Makefile.in (concat.o): Depend on config.h.
1688 * concat.c: Include "config.h".
1692 * regex.c: Declare wcs functions only if compiling with
1694 Don't use #elif for traditional C.
1698 * regex.c: Revamp memory allocation for WCHAR functions to
1699 not use too much stack.
1703 * regex.c: Declare wcs functions only if compiling with
1705 Don't use #elif for traditional C.
1709 * Makefile.in (regex.o): Add dependency on config.h.
1713 * regex.c (WORDCHAR_P) [WCHAR]: Also return true for the
1714 underscore character.
1718 * regex.c: Limit string length printed in debug messages to 100
1723 * regex.c: Place under LGPL version 2.1.
1727 * Makefile.in: Add support for regex code.
1728 * regex.c: New file.
1732 * Makefile.in: Add ffs.c dependency.
1733 * configure.in: Add ffs.c.
1738 * concat.c: Include <sys/types.h>.
1743 * strerror.c (sys_nerr): Hide the OS header version.
1744 * strsignal.c (sys_nsig): Likewise.
1748 * concat.c: Include string.h. Fix int vs size_t usage.
1749 Simplify the iteration loops. Use memcpy.
1753 * partition.c: Fix misspelling of `implementation'.
1757 * md5.c (md5_init_ctx): Declare constants as unsigned.
1758 (md5_process_block): Likewise.
1762 * cp-demangle.c (demangle_v3_with_details,
1763 is_gnu_v3_mangled_ctor, is_gnu_v3_mangled_dtor): Use K+R style
1764 function definition.
1765 * ternary.c: Use K+R style function definitions. Use PTR, not
1766 void *. Make arguments constant where possible.
1770 * splay-tree.h (splay_tree_max): New function.
1771 (splay_tree_min): Likewise.
1775 * ternary.c: New file - Ternary search tree implementation.
1777 * Makefile.in: Add ternary.o, and ternary.c dependencies.
1781 * make-temp-file.c (try): Inline.
1785 * Makefile.in (make-temp-file.o): Depend on config.h.
1789 * memchr.c (memchr): Adjust condition to avoid infinite loop.
1793 * cp-demangle.c (demangle_discriminator): `_0' is discriminator #1,
1794 `_' not followed by a digit is invalid.
1798 * cp-demangle.c (string_list_delete): Use dyn_string_delete
1799 instead of free, to free the contents as well as the string
1804 * make-temp-file.c: Always default DIR_SEPARATOR to '/'.
1805 Don't default P_tmpdir to anything. Try /var/tmp before
1810 * choose-temp.c: Split off make_temp_file, and the code
1811 duplicated between it and choose_temp_base, into...
1812 * make-temp-file.c: ... here; new file.
1814 * Makefile.in (CFILES): Add make-temp-file.c.
1815 (REQUIRED_OFILES): Add make-temp-file.o.
1819 * cp-demangle.c (struct demangling_def): New fields:
1820 is_constructor and is_destructor.
1821 (demangling_new): Initialize them.
1822 (demangle_ctor_dtor_name): Set them, if we detect a constructor
1824 (demangle_v3_with_details, is_gnu_v3_mangled_ctor,
1825 is_gnu_v3_mangled_dtor): New functions.
1829 * cplus-dem.c (main): Skip initial $.
1833 * hashtab.c (higher_prime_number): Silence warning that 4294967291
1834 might be a signed integer under pre-ISO C systems.
1839 * libiberty/lbasename.c: New file.
1840 * libiberty/Makefile.in: Update for lbasename.
1844 * aclocal.m4 (libiberty_AC_FUNC_C_ALLOCA): New.
1845 * configure.in: Replace all alloca logic with a simple use of
1846 the above new macro.
1847 * config.table: Kill *-*-beos* entry.
1848 * config/mh-beos: Delete.
1849 * configure, config.in: Regenerate.
1851 * Makefile.in (ALLOCA, HFILES): Kill.
1852 (REQUIRED_OFILES): Add alloca.o.
1853 (alloca.o): Depend on libiberty.h.
1854 (argv.o): Don't depend on alloca-conf.h.
1855 * alloca-conf.h: Delete.
1856 * alloca.c: Include libiberty.h. Kill all #ifdef emacs
1857 blocks. Provide the C alloca unconditionally. Use PTR where
1858 appropriate. Make i00afunc static.
1859 * argv.c: Don't include alloca-conf.h.
1863 * cplus-dem.c (main): Cast enum style to int.
1867 * cplus-dem.c (main): Initialize style.
1871 * COPYING.LIB: Update to LGPL 2.1 from the FSF.
1875 Add support for Java demangling under the v3 ABI:
1876 * cp-demangle.c (NAMESPACE_SEPARATOR): New define.
1877 (struct demangling_def): Add `style' field.
1878 (demangling_new): New parameter `style'. Set it in demangling_t.
1879 (demangle_prefix): Use NAMESPACE_SEPARATOR.
1880 (demangle_type_ptr): Don't emit pointer symbol if doing Java output.
1881 (cp_demangle): New parameter `style'. Pass it to demangling_new().
1882 (main): Call cp_demangle with extra parameter.
1883 (java_demangle_v3): New function.
1884 (java_builtin_type_names): New. Table of primitive type names used
1885 for Java demangling.
1886 (demangle_builtin_type): Look up in java_builtin_type_names if doing
1888 * cplus-dem.c (cplus_demangle): Use java_demangle_v3 to do Java
1890 (long_options): Remove obsolete `java' option.
1891 (main): Remove explicit handling of `java' option. Instead, pass style
1892 parameter in cplus_demangle flags as gdb does.
1893 * testsuite/demangle.expected: Add some Java test cases.
1897 * fnmatch.c: Make the note about the origins of this file more
1898 accurate, at least until we can sync with glibc.
1906 * bsearch.c: New file.
1907 * configure.in (funcs): Add bsearch.
1908 (AC_CHECK_FUNCS): Likewise.
1909 * configure, config.in: Regenerate.
1913 * safe-ctype.c: #include "ansidecl.h".
1914 * strtod.c: Likewise.
1918 * strtoul.c: Include safe-ctype.h, not ctype.h.
1922 * safe-ctype.c: New file.
1923 * Makefile.in (CFILES): Add safe-ctype.c.
1924 (REQUIRED_OFILES): Add safe-ctype.o.
1926 * argv.c: Define ISBLANK and use it, not isspace.
1927 * basename.c, cplus-dem.c, fnmatch.c, pexecute.c, strtod.c,
1928 strtol.c, strtoul.c: Include safe-ctype.h, not ctype.h. Use
1929 uppercase ctype macros. Don't test ISUPPER(c)/ISLOWER(c)
1930 before calling TOLOWER(c)/TOUPPER(c).
1934 * Makefile.in (distclean): When cleaning, remove testsuite.
1938 * cp-demangle.c (cplus_demangle_v3): Check that it's a v3 mangled
1939 name before allocating the dyn_string.
1943 * cp-demangle.c: s/new_abi/v3/.
1944 * cplus-dem.c: Likewise.
1945 (current_demangling_style): Now auto_demangling.
1946 (cplus_demangle): Try v3 demangling if AUTO_DEMANGLING.
1947 (main): Use standard symbol chars for auto_demangling.
1951 * hashtab.c (higher_prime_number): Use a table, rather than a
1952 seive, to find the next prime.
1956 * cplus-dem.c (main): Handle gnat_demangling.
1960 * aclocal.m4 (LIB_AC_PROG_CC): Moved here from configure.in.
1961 (AC_DEFINE_NOAUTOHEADER): New - work around bug in autoheader.
1962 * configure.in: Call AC_C_INLINE and AC_C_CONST. Use three
1963 argument form of AC_DEFINE in dummy definitions block. Use
1964 AC_DEFINE_NOAUTOHEADER for real definitions of things defined
1965 in dummy block. Preload cache variables instead of bypassing
1966 tests, where possible.
1967 * acconfig.h: Removed.
1969 * xmalloc.c (xmalloc_failed): New function, does error
1970 reporting on failed allocation.
1971 (xmalloc, xcalloc, xrealloc): Use it.
1975 * cplus-dem.c (cplus_demangle): Fix formatting.
1977 (ada_demangle): Ditto.
1978 (internal_cplus_demangle): Ditto.
1983 * cplus-dem.c (main): Handle java_demangling.
1987 * cplus-dem.c (grow_vect): Prototype.
1988 (ada_demangle): Cast the arg of ctype macros to unsigned char.
1992 * cplus-dem.c (ada_demangle): Add back ATTRIBUTE_UNUSED for
1997 * cplus-dem.c: Eliminate use of DEFUN, it is obsolete and cannot
2002 * cplus-dem.c: Add gnat demangler. Add java to demangle style
2007 * hashtab.c (htab_expand): Change to return int. Use calloc or
2008 xcalloc depending on htab->return_allocation_failure. Return zero
2010 (htab_create): Update comment to cover memory allocation.
2011 (htab_try_create): New.
2012 (htab_find_slot_with_hash): Return NULL if htab_expand fails.
2013 Update comment to cover this.
2017 * hashtab.c: Change void * to PTR where necessary.
2018 (htab_create, htab_expand): Correct formatting of comment before
2023 * cp-demangle.c (string_list_def): Add caret_position and comments.
2024 (result_caret_pos): New macro.
2025 (result_append_string): Rename to...
2026 (result_add_string): ... this, and insert at caret position.
2028 (result_append): Rename to...
2029 (result_add): ... this, and insert at caret position. Rename
2031 (result_append_char): Rename to...
2032 (result_add_char): ... this, and insert at caret position. Rename
2034 (result_append_space): Remove.
2035 (string_list_new): Initialize caret position.
2036 (result_add_separated_char): Use caret position.
2037 (result_get_caret): New funtion.
2038 (result_set_caret): Likewise.
2039 (result_shift_caret): Likewise.
2040 (result_previous_char_is_space): Likewise.
2041 (substitution_start): Use caret position.
2042 (substitution_add): Likewise.
2043 (demangling_new): Initialize caret position.
2044 (demangle_encoding): Use caret position.
2045 (demanglin_nested_name): Put CV qualifiers after name.
2046 (demangle_type_ptr): Use switch statement. Handle pointers to
2047 arrays. Don't use result_append_space. Use caret position.
2048 (demangle_type): Emit CV qualifiers after underlying type. Adjust
2049 call to demangle_array_type.
2050 (demangle_array_type): Add parameter to handle pointers to arrays.
2054 * splay-tree.c (splay_tree_insert): Fix formatting.
2058 * splay-tree.c (splay_tree_predecessor): Fix typo in comment.
2062 * splay-tree.c: #include <stdio.h>.
2066 * testsuite/demangle-expected: Add two tests for anonymous
2068 * cplus-dem.c (gnu_special): Handle anonymous namespaces.
2072 * splay-tree.c (splay_tree_predecessor): New function.
2073 (splay_tree_successor): Likewise.
2077 * testsuite/demangle-expected: Add four tests for type_info
2079 * cplus-dem.c (gnu_special): Use do_type, not demangle_fund_type,
2080 for a non-template non-qualified type_info function or node.
2084 * cp-demangle.c: Fix copyright banner.
2088 * md5.c: #include "ansidecl.h".
2092 * cp-demangle.c (status_allocation_failed): Rearrange whitespace.
2093 (demangle_type): Handle substitution candidates correctly in the
2094 face of special substitutions.
2098 * cp-demangle.c (demangle_encoding): Rename variable.
2099 (demangle_name): Rename parameter. Handle return type
2101 (demangle_nested_name): Rename parameter.
2102 (demangle_prefix): Likewise. Change return type suppression.
2103 (demangle_unqualified_name): Add parameter. Flag constructors and
2104 conversion operators.
2105 (demangle_special_name): Fix comment.
2106 (demangle_type): Rename variable.
2107 (demangle_bare_function_type): Check for missing return type and
2109 (demangle_class_enum_type): Rename parameter.
2110 (demangle_discriminator): Fix misspelling in comment.
2114 * configure.in (Cygwin): special case cygwin only when we're
2115 building cygwin, not when we're hosting cygwin.
2119 * cp-demangle.c (demangle_template_arg): Eat an `E' after an
2124 * cp-demangle.c (demangle_type_ptr): Increment position past
2125 pointer and reference characters.
2129 * cp-demangle.c (demangle_nv_offset): New function.
2130 (demangle_v_offset): Likewise.
2131 (demangle_call_offset): Likewise.
2132 (demangle_special_name): Update thunk demangling to comply with
2137 * cp-demangle.c (ANONYMOUS_NAMESPACE_PREFIX): New macro.
2138 (substitution_def): Remove template_parm_number.
2139 (NOT_TEMPLATE_PARM): Remove.
2140 (result_insert_string): New macro.
2141 (result_insert): Likewise.
2142 (result_insert_char): Likewise.
2143 (substitution_add): Remove last parameter. Don't store template
2145 (BFT_NO_RETURN_TYPE): Define as NULL.
2146 (demangle_encoding): Adjust call to demangle_bare_function_type.
2147 (demangle_name): Adjust substitution. Adjust call to
2149 (demangle_prefix): Adjust call to substitution_add.
2150 (demangle_identifier): Handle anonymous namespaces.
2151 (demangle_operator_name): Change demangling of vendor-extended
2152 operator to match ABI changes.
2153 (demangle_type_ptr): Change parameters. Make recursive. Handle
2155 (demangle_type): Adjust calls to demangle_template_param,
2156 substitution_add, and demangle_type_ptr. Fix substitution of
2158 (demangle_function_type): Change parameter to a pointer.
2159 (demangle_bare_function_type): Likewise. Adjust insertion point.
2160 (demangle_template_param): Remove last parameter.
2161 (demangle_expr_primary): Remove unused variable. Adjust call to
2162 demangle_template_param.
2163 (is_mangled_char): Accept `$' and `.'.
2164 * cplus-dem.c (gnu_new_abi_symbol_characters): Add '$' and '.'.
2165 * dyn-string.c (dyn_string_insert_char): New function.
2169 * testsuite/demangle-expected: Add nine tests for
2170 underscore-after-number followed by five tests for name-signature
2175 * Makefile.in (md5.o): Depend on config.h.
2179 * Makefile.in (REQUIRED_OFILES): Add md5.o.
2180 (CFILES): Add md5.c.
2185 * cp-demangle.c (demangle_name): Initialize template_p in local
2186 name case. Don't re-add substitutions as candidates.
2187 (demangle_nested_name): Use <unqualified-name>.
2188 (demangle_prefix): Likewise. Don't add template names as
2189 substitution candidates twice, or re-add a substitution or the
2190 last prefix component.
2191 (demangle_local_name): Adjust output format.
2195 * cp-demangle.c (result_add_separated_char): Change parameter to
2197 (substitution_add): Don't check for duplicates. Check if
2198 previously allocated size is zero.
2199 (demangle_name): Remove duplicate check for std substitution.
2200 Clear template flag appropriately.
2201 (demangle_prefix): Remove argument to demangle_substitution.
2202 Don't check that template flag is already set.
2203 (demangle_operator_name): Add pt operator.
2204 (demangle_type): Don't treat r as built-in type. Remove argument
2205 to demangle_substitution. Fix substitution candidate mechanics.
2206 Handle <template-template-parm>s. Improve comments.
2207 (demangle_template_param): Don't handle template arg lists here.
2208 (demangle_substitution): Remove parameter.
2209 (print_usage): Remove extra fprintf option.
2213 * libiberty/random.c (end_ptr): Revert previous change.
2217 * libiberty/cplus-dem.c (cplus_demangle_opname, cplus_mangle_opname,
2218 demangle_expression, demangle_function_name): Use ARRAY_SIZE.
2219 * libiberty/random.c (end_ptr): Likewise.
2223 * cp-demangle.c (result_close_template_list): Remove function.
2224 (result_add_separated_char): New function.
2225 (result_open_template_list): New macro.
2226 (result_close_template_list): Likewise.
2227 (demangle_prefix): Don't set template_p if the
2228 prefix ends with a ctor name.
2229 (demangle_type_ptr): Remove duplicate RETURN_IF_ERROR.
2230 (demangle_type): Check for template args after substitution.
2231 (demangle_template_args): Use result_open_template_list.
2235 * pexecute.c: Don't use vfork. Initialize 'pid' before retry loop.
2239 * config/mh-openedition.h: Added -DLE370 definition.
2243 * pexecute.c (pexecute) [__MSDOS__]: Change __GO32__ to
2244 __DJGPP__. Use P_WAIT instead of constant in the spawnv* call.
2245 Cast program to 'char *' in errmsg_arg assignment.
2246 (PWAIT_ERROR): Define.
2247 (pwait): Use PWAIT_ERROR. Adjust DJGPP's status code to conform
2248 to DJGPP's WIF* macros.
2253 * getcwd.c: Include string.h, stdlib.h for prototypes
2255 * Makefile.in (rename.o, waitpid.o): Depend on config.h
2256 * rename.c: Include config.h, unistd.h
2257 * waitpid.c: Include config.h, sys/wait.h
2261 * cplus-dem.c (work_stuff_copy_to_from): New.
2262 (delete_non_B_K_work_stuff): New.
2263 (delete_work_stuff): New.
2264 (mop_up): Break out work_stuff partly destruction to
2265 delete_non_B_K_work_stuff.
2266 (iterate_demangle_function): New.
2267 (demangle_prefix): Call iterate_demangle_function instead of
2268 demangle_function_name. Leave handling of name-signature
2269 __-delimiters to iterate_demangle_function.
2270 (demangle_integral_value): Strip an optional
2271 following underscore cautiously. Handle negative numbers.
2275 * cplus-dem.c (demangle_signature): Change if (GNU_DEMANGLING) to
2276 if (AUTO_DEMANGLING || GNU_DEMANGLING)
2280 * cp-demangle.c (demangle_ctor_dtor_name): Remove not-in-charge
2281 allocating ctor mangling.
2282 (demangle_array_type): Handle empty and non-constant array length.
2287 * configure.in (AC_CHECK_HEADERS): Add time.h.
2288 (AC_HEADER_TIME): Add check.
2289 * configure, config.in: Regenerate.
2290 * getruntime.c: Portably #include <sys/time.h> and/or <time.h>.
2292 * configure.in (AC_CHECK_HEADERS): Add limits.h.
2293 * configure, config.in: Regenerate.
2294 * sort.c: Portably #include <limits.h> and/or <sys/param.h>.
2295 * strtol.c, strtoul.c: #include "config.h". Portably #include
2296 <limits.h> and/or <sys/param.h>.
2297 * Makefile.in (strtol.o, strtoul.o): Update dependencies.
2299 * aclocal.m4 (libiberty_AC_DECLARE_ERRNO): New macro.
2300 * configure.in (libiberty_AC_DECLARE_ERRNO): Add check.
2301 * configure, config.in: Regenerate.
2302 * pexecute.c, strtol.c, strtoul.c: Declare errno if necessary.
2304 * cp-demangle.c, mkstemps.c: #include <sys/types.h>.
2308 * Makefile.in (xexit.o): Add dependency for config.h in xexit.c.
2309 * (vasprintf.o): Add dependency for config.h in vasprintf.c.
2313 * cp-demangle.c (cp_demangle_type): Wrap in IN_LIBGCC2.
2315 * setenv.c (setenv): Initialize variable `ep'.
2317 * sigsetmask.c (abort): Prototype.
2319 * vasprintf.c: Include config.h. Check ANSI_PROTOTYPES, not
2320 __STDC__ for stdarg.h include.
2321 (int_vasprintf): Prototype.
2322 (checkit): Prototype. Use VPARAMS/ANSI_PROTOTYPES/VA_START in
2323 definition. Cast `global_total_width' in comparison.
2324 (main): Prototype. Return a value.
2326 * vfork.c (fork): Prototype.
2328 * xexit.c: Include config.h.
2332 * cplus-dem.c (demangle_fund_type): Make 'dec' an unsigned int,
2333 and print it with %u.
2337 * testsuite/regress-demangle (failed test): Show result and
2342 * cplus-dem.c (main): fflush() after emitting last char before
2347 * cp-demangle.c (demangle_encoding): Accept no substitutions.
2348 (demangle_name): Handle <substitution> followed by
2349 <unqualified-template-name>.
2350 (demangle_type): Follow special substitutions with
2352 (demangle_subtitution): Set template_p for special substitutions.
2357 * cp-demangle.c (demangle_special_name): Swap base and derived
2358 class when demangling construction vtables.
2362 * cp-demangle.c: Don't include ctype.h.
2363 (IS_DIGIT): New macro.
2364 (IS_ALPHA): Likewise. Use IS_DIGIT and IS_ALPHA throughout
2365 instead of isdigit and isalpanum.
2366 (demangling_def): Make name and next const pointers.
2367 (STATUS_ALLOCATION_FAILED): New status code.
2368 (dyn_string_append_space): Handle failure in
2369 dyn_string_append_char.
2370 (int_to_dyn_string): Likewise. Change return value to status_t.
2371 (string_list_new): Handle failure of dyn_string_init.
2372 (result_close_template_list): Change return type to status_t.
2373 Handle failure in dyn_string_append.
2374 (result_push): Change return value to status_t. Handle failure in
2375 string_list_new. Handle failure of result_push throughout.
2376 (substitution_add): Change return value to status_t. Handle
2377 dyn_string failures. Handle failure of substitution_add
2379 (template_arg_list_new): Return NULL on allocation failure.
2380 (result_append_string): Return STATUS_ALLOCATION_FAILED on error.
2381 Handle error result throughout.
2382 (result_append): Likewise.
2383 (result_append_char): Likewise.
2384 (result_append_space): Likewise.
2385 (demangling_new): Make argument a const pointer. Handle
2386 allocation failures.
2387 (demangle_template_args): Handle failure in template_arg_list_new
2388 and result_close_template_list.
2389 (demangle_discriminator): Return if int_to_dyn_string fails.
2390 (cp_demangle): Likewise.
2391 (cp_demangle_type): New function.
2392 (cplus_demangle_new_abi): Don't call dyn_string_delete. Abort on
2393 memory allocation failure.
2395 * dyn-string.c (RETURN_ON_ALLOCATION_FAILURE): Define if
2397 (dyn_string_init): Change return value to int. Handle
2398 RETURN_ON_ALLOCATION_FAILURE case.
2399 (dyn_string_new): Handle RETURN_ON_ALLOCATION_FAILURE case.
2400 (dyn_string_release): Delete the dyn_string.
2401 (dyn_string_resize): Handle RETURN_ON_ALLOCATION_FAILURE case.
2402 (dyn_string_copy): Change return type to int.
2403 (dyn_string_copy_cstr): Likewise.
2404 (dyn_string_prepend): Likewise.
2405 (dyn_string_prepend_cstr): Likewise.
2406 (dyn_string_insert): Likewise.
2407 (dyn_string_insert_cstr): Likewise.
2408 (dyn_string_append): Likewise.
2409 (dyn_string_append_cstr): Likewise.
2410 (dyn_string_append_char): Likewise.
2411 (dyn_string_substring): Likewise.
2415 * cp-demangle.c (demangle_operator_name): Add spaces before
2416 names beginning with a letter: delete, delete[], new, new[],
2418 (demangle_special_name): Handle TF <type> and TJ <type>.
2422 * cp-demangle.c (template_arg_list_new): Revert previous PARAMS patch.
2426 * cp-demangle.c (stdio.h): File included unconditionaly.
2427 (template_arg_list_new): Parameter list is PARAMS ((void)), not ().
2428 * dyn-string.c (stdio.h): File included.
2429 * partition.c (partition_print): No `&' needed to take the address of
2434 * configure.in (ac_libiberty_warn_cflags): Add -pedantic.
2436 * choose-temp.c (try, choose_temp_base, make_temp_file): Constify.
2438 * cp-demangle.c (demangle_char): Change parameter from char to int.
2439 (demangle_expression, demangle_expr_primary): Remove extra
2440 semi-colon in prototype.
2442 * dyn-string.c (dyn_string_append_char): Change parameter from
2445 * memcmp.c (memcmp): Constify.
2447 * mkstemps.c (gcc_uint64_t): Mark GNUC `long long' case with
2450 * partition.c (elem_compare): Prototype. Don't cast away
2453 * setenv.c (setenv): Use braces to avoid ambiguous `else'.
2457 * Makefile.in (cp-demangle.o): Depend on $(INCDIR)/demangle.h.
2459 * cp-demangle.c: Include demangle.h.
2460 (template_arg_list_new): DeANSIfy.
2461 (cp_demangle): Make static and add prototype.
2462 (operator_code, operators): Constify.
2463 (demangle_operator_name): Likewise for variables `p1', `p2' and `p'.
2467 * cp-demangle.c (demangle_prefix): Cast argument to isdigit to
2469 (demangle_unqualified_name): Likewise.
2470 (demangle_number_literally): Likewise.
2471 (demangle_type): Likewise.
2472 (demangle_substitution): Likewise.
2473 (is_mangled_char): Likewise, for isalnum.
2477 * Makefile.in (CFILES): Add cp-demangle.c and dyn-string.c.
2478 (REQUIRED_OFILES): Add cp-demangle.o and dyn-string.o.
2479 (cp-demangle.o): New dependency.
2480 (dyn-string.o): Likewise.
2482 * dyn-string.c: Move here from gcc/dyn-string.c. Add new functions.
2484 * cplus-dem.c (libiberty_demanglers): Add initializer for new-ABI
2486 (cplus_demangle): Call cplus_demangle_new_abi if in new-ABI
2488 (gnu_new_abi_symbol_characters): New function.
2489 (main): Use gnu_new_abi_symbol_characters. * cp-demangle.c: New
2491 * cp-demangle.c: New file.
2495 * floatformat.c: Add name to each floatformat field.
2499 * Makefile.in (objalloc.o): Depend on config.h
2503 * hashtab.c, partition.c, sort.c, xmemdup.c: Include string.h
2505 * pexecute.c, xexit.c: Include stdlib.h if HAVE_STDLIB_H.
2506 * objalloc.c: Include config.h. Include stdlib.h and don't
2507 declare malloc or free if HAVE_STDLIB_H.
2508 * strerror.c, strsignal.c: Include stdlib.h if HAVE_STDLIB_H,
2509 else declare malloc without prototype. Include string.h if
2510 HAVE_STRING_H, else declare memset without prototype. Don't
2515 * Makefile.in (xmalloc.o): Add dependency for config.h, fixes make
2520 * xmalloc.c: Include config.h for HAVE_SBRK definition.
2524 * hashtab.c (hash_pointer): Delete low-order bits which are
2525 probably zero, also eliminate a warning on alpha.
2529 * Makefile.in: Change "pic" to depend on $(PICFLAG), not
2530 on $(enable_shared).
2534 * config.table: Use mh-sparcpic for sparc*-*-*.
2538 * Makefile.in (CFILES): Add strncmp.c.
2539 (NEEDED): Add strncmp.
2543 * cplus-dem.c (cplus_demangle_opname, demangle_function_name):
2544 Cast the arguments to `islower' to `unsigned char'.
2545 (print_demangler_list): Prototype.
2549 * sort.c (UCHAR_MAX): Provide fallback definition.
2553 * Makefile.in (maintainer-clean-subdir): Fix handling of empty
2559 * cplus-dem.c (libiberty_demanglers): New table for demangle styles.
2560 (cplus_demangle_set_style): New function for setting style.
2561 (cplus_demangle_name_to_style): New function to translate name.
2565 * aclocal.m4: New file with new test libiberty_AC_FUNC_STRNCMP.
2567 * configure.in (AC_CHECK_HEADERS): Add sys/mman.h fcntl.h.
2568 (libiberty_AC_FUNC_STRNCMP): Invoke.
2570 * strncmp.c: New file.
2574 * hashtab.c (htab_expand): Add prototype.
2575 (find_empty_slot_for_expand): Likewise.
2579 * hashtab.c (hash_pointer, eq_pointer): Make definition static to
2581 (htab_expand): Cast the return value of xcalloc.
2585 * hashtab.c (hash_pointer): New function.
2586 (eq_pointer): Likewise.
2587 (htab_hash_pointer): New variable.
2588 (htab_eq_pointer): Likewise.
2592 * sort.c (sort_pointers): Fix endianness bugs.
2595 * Makefile.in (CFILES): Add sort.c
2596 (REQUIRED_OFILES): Add sort.o.
2597 (sort.o): New target.
2601 * Makefile.in (*-subdir): Revamp slightly to avoid losing on
2606 * hashtab.c: Various minor cleanups.
2607 (htab_find_slot_with_hash): INSERT is now enum insert_option.
2608 (htab_find_slot): Likewise.
2612 * cplus-dem.c (cplus_demangle_opname): Changed to use islower.
2616 * splay-tree.c (splay_tree_remove): New.
2620 * hashtab.c (find_empty_slot_for_expand): Use hashval_t for hash
2622 (htab_find_with_hash): Likewise.
2623 (htab_find_slot_with_hash): Likewise.
2627 * hashtab.c (htab_find_with_hash): Avoid calculating hash2
2628 unless it will be used. Rearrange loop for better
2630 (higher_prime_number): Add static prototype.
2634 * Makefile.in (partition.o): Depend on config.h
2638 * hashtab.c (find_empty_slot_for_expand): New function.
2639 (htab_expand): Use it instead of htab_find_slot.
2640 (htab_find_with_hash): Renamed from htab_find; now accepts extra
2642 (htab_find_slot_with_hash): Likewise for htab_find_slot.
2643 (htab_find): New wrapper function.
2644 (htab_find_slot): Likewise.
2645 (htab_traverse): Pass slot, not entry, to called function.
2649 * Makefile.in (CFILES): Add partition.c.
2650 (REQUIRED_OFILES): Add partition.o.
2651 (partition.o): New rule.
2652 * partition.c: New file.
2656 * hashtab.c (htab_create): Set del_f.
2657 (htab_delete, htab_empty, htab_remove_elt, htab_clear_slot):
2662 * hashtab.c: Remove debugging variables (all_searches,
2663 all_collisions, all_expansions). Delete
2664 all_hash_table_collisions.
2665 (create_hash_table, delete_hash_table, empty_hash_table,
2666 find_hash_table_entry, remove_element_from_hash_table_entry,
2667 clear_hash_table_slot, traverse_hash_table, hash_table_size,
2668 hash_table_elements_number, hash_table_collisions): Rename to:
2669 htab_create, htab_delete, htab_empty, htab_find_slot,
2670 htab_remove_elt, htab_clear_slot, htab_traverse, htab_size,
2671 htab_elements, htab_collisions.
2672 (htab_find): New function, handles common case where you don't
2673 plan to add or delete an entry.
2674 (htab_expand): Don't create a whole new table, just a new
2676 (htab_find_slot): Simplify logic.
2680 * floatformat.c: Add casts to avoid signed/unsigned warnings.
2681 * pexecute.c: Add ATTRIBUTE_UNUSED as needed on Unix.
2683 * Makefile.in (install_to_libdir): Change $(TARGETLIB).n to
2684 $(TARGETLIB)n so it works on MSDOS.
2685 (install_to_tooldir): Likewise.
2690 * makefile.dos: Remove; obsolete.
2691 * configure.bat: Remove; obsolete.
2695 * splay-tree.c (splay_tree_insert): Add initialization to avoid
2700 * pexecute.c: Conditionally include string.h.
2701 (fix_argv): Handle embedded whitespace in args for Mingw32.
2705 * configure.in (ac_libiberty_warn_cflags): Turn on warnings if
2708 * Makefile.in (COMPILE.c): Add @ac_libiberty_warn_cflags@
2712 * vasprintf.c (int_vasprintf): Don't re-read the format character
2713 as this mishandles strings like '%%s'.
2717 * splay-tree.c (splay_tree_new): Use struct splay_tree_node_s
2718 rather than struct splay_tree_node.
2719 (splay_tree_insert): Use struct splay_tree_s rather than struct
2724 * hashtab.c (sys/types.h): File included.
2728 * strtoul.c, strtol.c, random.c: Remove advertising clause from
2729 BSD license, pursuant with
2731 ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
2735 * hashtab.c: Include stdio.h.
2739 * hashtab.c (traverse_hash_table): Protect prototype with PARAMS.
2743 * xstrdup (sys/types.h): Include this file.
2747 * Makefile.in (SUBDIRS): New macro.
2748 (mostlyclean, clean, distclean, maintainer-clean): Adjust to
2749 avoid multiple subdirectory cleaning.
2750 (*-subdir): Use SUBDIRS.
2752 1999-10-25 Jim Kingdon <http://developer.redhat.com/>
2754 * cplus-dem.c: Move declarations of standard_symbol_characters and
2755 hp_symbol_characters inside #ifdef MAIN to avoid compiler
2760 * hashtab.c (find_hash_table_entry): When returning a
2761 DELETED_ENTRY slot, change it to EMPTY_ENTRY first.
2762 (clear_hash_table_slot): New function which deletes an entry
2763 by its position in the table, not its value.
2764 (traverse_hash_table): New function which calls a hook
2765 function for every live entry in the table.
2769 * cplus-dem.c (INTBUF_SIZE): New macro.
2770 (string_append_template_idx): New function.
2771 (demangle_expression): Likewise.
2772 (demangle_integral_value): Use it.
2773 (demangle_real_value): New function, split out from ...
2774 (demangle_template_value_parm): ... here. Use
2775 string_append_template_idx. Use demangle_real_value.
2776 (demangle_template): Use string_append_template_idx.
2777 (demangle_qualified): Use consume_count_with_underscores.
2778 (get_count): Tweak formatting.
2779 (do_type): Use string_append_template_idx.
2783 * calloc.c: Add a public domain notice.
2787 * setenv.c (sys/types.h, stdio.h): Include those files unconditionaly.
2791 * Makefile.in (CFILES): Add hashtab.c
2792 (REQUIRED_OFILES): Add hashtab.o
2793 (hashtab.o): Add dependencies.
2794 * hashtab.c: New file
2798 * basename.c (DIR_SEPARATOR): New macro.
2799 (DIR_SEPARATOR_2): Likewise.
2800 (HAVE_DOS_BASED_FILESYSTEM): Likewise.
2801 (IS_DIR_SEPARATOR): Likewise.
2802 (main): Handle MSDOS style pathname.
2806 * cplus-dem.c (do_type): Handle pointer to member types whose
2807 enclosing classes have namespace scope.
2811 * config.table: Provide a backup shell for executing move-if-change.
2815 * xmalloc.c (xmalloc): Fix spelling error.
2816 (xcalloc, xrealloc): Likewise.
2820 * cplus-dem.c (fancy_abort, demangle_integral_value,
2821 demangle_arm_hp_template, recursively_demangle,
2822 standard_symbol_characters, hp_symbol_characters, main): Add prototype.
2823 (program_name, program_version, fatal): Constify a char*.
2824 (usage, fatal): Mark with ATTRIBUTE_NORETURN.
2825 (main): Call return, not exit.
2829 * choose-temp.c: Remove obsolete comment about gcc.
2830 (make_temp_file): Constify a char*.
2834 * xmemdup.c: Include sys/types.h.
2838 * xmemdup.c: New xmemdup function.
2839 * Makefile.in, makefile.vms, vmsbuild.com: Use xmemdup.[co].
2843 * config.table: Add openedition target.
2844 * config/mh-openedition: New file.
2848 * pexecute.c (pexecute): Fill in temp_base when needed.
2852 * getpwd.c: Check HAVE_GETCWD before defining it away.
2856 * Makefile.in (CFILES): Add calloc.c and getpwd.c.
2857 (REQUIRED_OFILES): Add getpwd.o.
2858 (getpwd.o): Add target.
2860 * configure.in (AC_PREREQ): Bump to 2.13.
2861 (AC_CHECK_HEADERS): Add check for <sys/stat.h>.
2863 * getpwd.c: New file, moved here from gcc.
2867 * cplus-dem.c (gnu_special): Cast a `size_t' to `long' when
2868 comparing against a signed quantity.
2869 (arm_special): Likewise.
2870 (demangle_fund_type): Likewise.
2871 (do_hpacc_template_const_value): Mark parameter `work' with
2873 (main): Constify variable `valid_symbols'.
2877 * strtoul.c (strtoul): Add parentheses around && within ||.
2881 * Makefile.in (FLAGS_TO_PASS): Include prefix, exec_prefix,
2882 libdir, libsubdir and tooldir.
2886 * splay-tree.c (splay_tree_insert): Return the new node.
2890 * argv.c: Include stdlib.h and string.h instead of
2891 prototyping directly.
2892 * choose-temp.c: Conditionally include string.h.
2896 * Makefile.in (NEEDED): Add bcmp, bcopy, bzero.
2900 * splay-tree.c (splay_tree_insert): Add initialization to avoid
2905 * Makefile.in (needed-list): Only include stuff we actually need
2910 * configure.in (checkfuncs): Add gettimeofday.
2911 * config.in, configure: Regenerated.
2915 * configure.in (*-*-uwin*): UWIN has sys_{errlist,nerr} even if
2917 * configure: Regenerate.
2921 * Makefile.in (setenv.o): Add config.h dep for setenv.o to fix
2926 * putenv.c: Include ansidecl.h to define `const'.
2927 * setenv.c: Likewise.
2931 * Makefile.in (CFILES): Add putenv.c and setenv.c.
2932 * configure.in (funcs): Add putenv and setenv.
2933 (AC_CHECK_FUNCS): Check for putenv and setenv.
2934 * configure: Rebuilt.
2935 * putenv.c setenv.c: New files.
2937 * getcwd.c (getcwd): If pathname is NULL, then obtain SIZE
2938 bytes of space using malloc.
2942 * cplus-dem.c (demangle_fund_type (near 'I' case)): Don't advance
2943 the *mangled pointer beyond the end of the string. Clean up code to
2944 match prevailing coding style.
2948 * tmpnam.c (L_tmpnam): Fix typo.
2952 * cplus-dem.c (standard_symbol_characters): Renamed from
2953 standard_symbol_alphabet. No longer modify TABLE.
2954 (hp_symbol_characters): Renamed from hp_symbol_alphabet. No longer
2956 (main): Corresponding changes. Use strchr to determine if a
2961 * cplus-dem.c (main): Use table lookup to distinguish identifier
2962 characters from non-identifier characters.
2963 (standard_symbol_alphabet, hp_symbol_alphabet): New functions.
2967 * configure.in (sys/resource.h): Add to AC_CHECK_HEADERS list.
2968 * getruntime.c: Only attempt to include sys/resource.h and
2969 use getrusage if both HAVE_GETRUSAGE and HAVE_SYS_RESOURCE_H
2974 * configure.in (alloca detection): Handle alloca directly for interix.
2975 * configure: Rebuilt.
2979 * choose-temp.c (DIR_SEPARATOR): Use '\\' only for native windows32.
2983 Fix from Dale Hawkins:
2984 * cplus-dem.c (mop_up): Set typevec_size to zero, so it'll be
2985 reallocated properly if we use it again.
2987 * cplus-dem.c (demangle_fund_type): Check for buffer overrun. Be
2988 stricter about syntax. Always null-terminate string.
2992 * configure.in (checkfuncs): Check for sbrk.
2993 * config.in: Rebuilt.
2994 * configure: Likewise.
2995 * xmalloc.c: Use HAVE_SBRK instead of the host specific definitions.
2999 Fix from Marcus Daniels:
3000 * cplus-dem.c (demangle_fund_type): Don't run off the end of the
3001 identifier looking for another underscore.
3005 * pexecute.c: Change all references to __UWIN__ to _UWIN.
3006 * xmalloc.c: Likewise.
3007 (xcalloc): UWIN has sbrk.
3008 (xrealloc): Fix guard macro.
3012 * alloca-conf.h (alloca) [C_ALLOCA]: Don't use Gcc builtin
3014 * clock.c (GNU_HZ): New definition.
3016 * getruntime.c: Likewise.
3018 * config.table: Use mh-beos.
3019 * config/mh-beos: New file.
3023 * cplus-dem.c (demangle_template_value_parm): Handle
3024 pointers-to-members.
3025 (do_type): Handle template parameters as qualifiers.
3029 * cplus-dem.c: Attempt to handle overflows in counts with some
3031 (consume_count): Detect overflows. Return -1 to indicate errors,
3033 (demangle_template_value_parm, demangle_template): Handle change
3034 to consume_count's return convention.
3038 * testsuite/regress-demangle: New file.
3039 * testsuite/demangle-expected: New file.
3041 * Makefile.in (all, check, installcheck, info, install-info,
3042 clean-info, dvi, install, etags, tags, mostlyclean, clean,
3043 distclean, maintainer-clean, realclean): Depend on corresponding
3045 (all-subdir check-subdir installcheck-subdir info-subdir
3046 install-info-subdir clean-info-subdir dvi-subdir
3047 install-info-subdir etags-subdir mostlyclean-subdir clean-subdir
3048 distclean-subdir maintainer-clean-subdir): New target.
3049 * testsuite/Makefile.in: New file.
3050 * configure: Rebuilt.
3051 * configure.in: Create testsuite/Makefile.
3055 * splay-tree.h (splay_tree_compare_pointers): Define.
3059 * splay-tree.c (splay_tree_compare_ints): Define.
3063 * cplus-dem.c (consume_count): If `count' wraps, return 0 and
3064 don't advance input pointer.
3065 (demangle_class_name): If consume_count didn't find a count, do
3066 nothing. Don't bother with `strlen' sanity check; consume_count
3072 * cplus-dem.c (demangle_prefix): Don't grab all the '__' strings
3073 when doing arm or hp style.
3074 (demangle_nested_args): Decr forgetting_types field when done.
3078 * pexecute.c (__CYGWIN32__): Rename to
3080 * xmalloc.c: Likewise.
3082 Changes to support i386-pc-uwin.
3083 * configure.in (*-*-uwin*): Workaround for vfork bug.
3084 * configure: Regenerate.
3085 * pexecute.c (pexecute): Be like standard Unix.
3087 * xmalloc.c (first_break): Define.
3088 (xmalloc_set_program_name): Use.
3093 * config.table: Cleanup and add mh-*pic handling for alpha, arm, powerpc
3097 * config.table: Check cygwin*, not cygwin32*.
3101 * Makefile.in: Change mkstemp -> mkstemps.
3105 * Makefile.in (REQUIRED_OFILES): remove mkstemp.o
3106 * configure.in (funcs): Check for and conditionally add mkstemps to
3107 the list of functions libiberty will provide.
3108 * configure: Rebuilt.
3112 * clock.c (HZ): Define in terms of (ISO C) CLOCKS_PER_SEC on
3113 platforms that don't have HZ.
3114 * getruntime.c (HZ): Likewise.
3118 * Makefile.in (xstrdup.o): Depend on config.h.
3122 * cplus-dem.c (mop_up): Set work->previous_argument to NULL after
3127 * xstrdup.c (xstrdup): Switch from strcpy to memcpy for speed.
3131 * Makefile.in (CFILES): fix typo, splay-tree.c instead of
3136 * configure.in: Require autoconf 2.12.1 or higher.
3140 * random.c (NULL): Don't redefine NULL if it is already defined.
3144 * argv.c (buildargv): Cast the result of alloca in assignment.
3146 * choose-temp.c: Include stdlib.h.
3148 * cplus-dem.c (demangle_arm_pt): Remove unused prototype.
3149 (snarf_numeric_literal): Constify first parameter.
3150 (code_for_qualifier): Avoid a gcc extension, make the parameter an
3152 (demangle_qualifier): Likewise.
3153 (demangle_signature): Cast the argument of a ctype function to
3155 (arm_pt): Add parens around assignment used as truth value.
3156 (demangle_arm_hp_template): Constify variable `args'.
3157 (do_hpacc_template_const_value): Cast the argument of a ctype
3158 function to unsigned char.
3159 (do_hpacc_template_literal): Remove unused variable `i'.
3160 (snarf_numeric_literal): Constify parameter `args'.
3161 Cast the argument of a ctype function to unsigned char.
3163 * floatformat.c (floatformat_to_double): Add explicit braces to
3164 avoid ambiguous `else'.
3166 * fnmatch.c (fnmatch): Change type of variables `c', `c1',
3167 `cstart' and `cend' to unsigned char. Cast the argument of macro
3168 `FOLD', which uses ctype functions, to unsigned char.
3170 * objalloc.c (free): Add prototype.
3174 * Makefile.in (CFILES): Fix typo: splay-tree.c, not splay-tree.o
3178 * cplus-dem.c (demangle_arm_pt): remove declaration -- function
3180 (do_hpacc_template_literal): remove unused variable `i'.
3184 * cplus-dem.c (demangle_fund_type): Process CV and u codes before
3185 bumping the pointer we read from. Also prepend these codes,
3186 as we do in other places.
3190 * cplus-dem.c (demangle_arm_hp_template): Make variable 'args' be
3191 'const char *' in order to match its usage when calling siblings.
3192 (snarf_numeric_literal): Make first arg 'const char **' in order
3197 * choose-temp.c: Don't check IN_GCC anymore.
3199 * floatformat.c (floatformat_from_double): Use `const', not `CONST'.
3200 * memchr.c (memchr): Likewise.
3201 * memcpy.c (memcpy): Likewise.
3202 * memmove.c (memmove): Likewise.
3204 * mkstemp.c: Don't check IN_GCC anymore.
3205 * pexecute.c: Likewise.
3206 * splay-tree.c: Likewise.
3208 * strchr.c (strchr): Use `const', not `CONST'.
3209 * strrchr.c (strrchr): Likewise.
3210 * strtol.c (strtol): Likewise.
3211 * strtoul.c (strtoul): Likewise.
3220 * HP aCC demangling support.
3222 (main): Remove default to HP style demangling, set to EDG
3223 demangling correctly when -edg specified; set the demangling style
3224 when user specifies 'edg'. Set strip_underscore to
3225 prepends_underscore, if not HPUXHPPA. Set
3226 current_demangling_style to hp_demangling if HPUXHPPA. Set
3227 current demangling style correctly if the switch is hp. Read
3228 label correctly also in the HP style case.
3229 (work_stuff): add temp_start field; add field for volatile member
3231 (arm_pt): handle ARM_DEMANGLING and EDG_DEMANGLING styles; HP
3232 style for this case is the same as ARM.
3233 (demangle_args): handle EDG_DEMANGLING style; support HP style.
3234 (demangle_arm_hp_template): new function. (It was
3235 demangle_arm_pt.); check and set value of temp_start field in
3236 multiple places. Also, when ceching for end of template args,
3237 check to see if at end of static member of template class.
3238 (demangle_class): new local variable : save_class_name_end Don't
3239 include template args in string defining class.
3240 (demangle_class_name): use demangel_arm_hp_template.
3241 (demangle_function_name): handle case where demangling style is
3242 HP_DEMANGLING and currently point at an 'X' in the mangled name.
3243 Handle EDG_DEMANGLING style. Handle constructor and destructor
3245 (demangle_prefix): handle EDG_DEMANGLING and ARM_DEMANGLING
3246 styles. global destructor and constructor for HP style are same
3247 as for ARM style. Same for local variables.
3248 (demangle_qualified): handle EDG_DEMANGLING style.
3249 (demangle_signature): add case for volatile member function. For
3250 cases '1' - '9' : initialize the temp_start field to -1 and handle
3251 the EDG_DEMANGLING style. for case 'F' : handle EDG_DEMANGLING
3252 and AUTO_DEMANGLING styles. If expecting a function and managed
3253 to demangle the funct args, then handle the LUCID_DEMANGLING,
3254 ARM_DEMANGLING, and EDG_DEMANGLING styles. Add case for local
3255 class name after "Lnnn_ in HP style case. HP style too needs to
3256 forget types. _nnn is OK for HP style, so don't report failure.
3257 (do_hpacc_template_const_value): new function. Handle template's
3258 value param for HP/aCC.
3259 (do_hpacc_template_literal): new function. Handle a template's
3260 literal parameter for HP aCC.
3261 (recursively_demangle): new function
3262 (snarf_numeric_literal): new function.
3263 (usage): add 'edg' to the list of demangling styles; add hp switch
3268 * pexecute.c: Remove obsolete ifdefed cygwin code.
3272 * choose-temp.c: Always include libiberty.h. Avoid redundancies.
3273 * cplus-dem.c: Likewise. Conform to libiberty.h.
3274 * pexecute.c: Likewise.
3275 * splay-tree.c: Likewise.
3279 * Makefile.in (splay-tree.o): Add config.h dependency.
3283 * configure.in: Use AC_PREREQ(2.12.1).
3287 * cplus-dem.c (demangle_fund_type): Add demangling for C9x types.
3291 * mpw.c (mpw_access): Add missing parens.
3295 * configure.in: Call AC_HEADER_SYS_WAIT.
3297 * pexecute.c: Include sys/wait.h when !IN_GCC.
3301 * pexecute.c: revert back to checking old Cygwin
3302 preprocessor symbol until some time has passed.
3306 * pexecute.c: Reorganize WIN32 case to accomodate Cygwin
3307 since it will now support similar constructs.
3311 * configure.in: Check for calloc.
3313 * calloc.c: New file.
3315 * xmalloc.c (xcalloc): New function.
3319 *cplus-dem.c (demangle_prefix): Use the last "__"
3320 in the mangled name when looking for the signature. This allows
3321 template names to begin with "__".
3325 * cplus-dem.c (type_kind_t): Add tk_reference.
3326 (demangle_template_value_parm): Handle it.
3327 (do_type): Use it for references, instead of tk_pointer.
3329 * cplus-dem.c (demangle_template_value_parm): Use cplus_demangle,
3330 not internal_cplus_demangle.
3334 * choose-temp.c: Don't include gansidecl.h.
3335 * mkstemp.c: Likewise.
3336 * pexecute.c: Likewise.
3340 * configure.in: detect cygwin* instead of cygwin32*
3341 * configure: regenerate
3345 * pexecute.c: Check HAVE_CONFIG_H, not IN_GCC, when determining
3346 whether to include config.h. Possibly include unistd.h in the
3347 !IN_GCC case. Define VFORK_STRING as a printable function call
3348 for error messages (either "vfork" or "fork".) If HAVE_VFORK_H is
3349 defined, include vfork.h. If VMS is defined, define vfork()
3350 appropriately. Remove vfork check on USG, we're using autoconf.
3351 (pexecute): Set `errmsg_fmt' to VFORK_STRING instead of checking
3352 locally what string to use.
3356 * splay-tree.c: Tweak include directives to make sure declarations of
3357 xmalloc and free are available.
3361 * cplus-dem.c (gnu_special): Fix handling of virtual tables in
3362 anonymous namespaces.
3366 * cplus-dem.c (work_stuff): Replace const_type and volatile_type
3368 (TYPE_UNQUALIFIED): New macro.
3369 (TYPE_QUAL_CONST): Likewise.
3370 (TYPE_QUAL_VOLATILE): Likewise.
3371 (TYPE_QUAL_RESTRICT): Likewise.
3372 (code_for_qualifier): New function.
3373 (qualifier_string): Likewise.
3374 (demangle_qualifier): Likewise.
3375 (internal_cplus_demangle): Use them.
3376 (demangle_signature): Likewise.
3377 (demangle_template_value_parm): Likewise.
3378 (do_type): Likewise.
3379 (demangle_fund_type)): Likewise.
3383 * splay-tree.c (splay_tree_foreach_helper): Make definition static
3388 * splay-tree.c: New file.
3389 * Makefile.in (CFILES): Add it.
3390 (REQUIRED_OFILES): Likewise.
3391 (splay-tree.o): Add dependencies.
3395 * cplus-dem.c (demangle_qualified): Fix off-by-one when checking
3400 * choose-temp.c: Prototype mkstemps() when IN_GCC.
3402 * cplus-dem.c (consume_count): Cast argument of ctype macro to
3404 (cplus_demangle_opname): Cast the result of `strlen' to (int) when
3405 comparing against one.
3406 (cplus_mangle_opname): Likewise.
3407 (demangle_integral_value): Cast argument of ctype macro to
3409 (demangle_template_value_parm): Likewise.
3410 (demangle_template): Initialize variable `bindex'. Cast the
3411 result of `strlen' to (int) when comparing against one. Remove
3412 unused variable `start_of_value_parm'.
3413 (demangle_class_name): Cast the result of `strlen' to (int) when
3414 comparing against one.
3415 (demangle_prefix): Cast argument of ctype macro to `unsigned char'.
3416 (gnu_special): Likewise. Cast the result of `strlen' to (int)
3417 when comparing against one.
3418 (demangle_qualified): Cast argument of ctype macro to `unsigned char'.
3419 (get_count): Likewise.
3420 (do_type): Likewise. Cast the result of `strlen' to (int) when
3421 comparing against one.
3422 (demangle_fund_type): Cast argument of ctype macro to `unsigned char'.
3423 (demangle_function_name): Cast the result of `strlen' to (int)
3424 when comparing against one.
3426 * mkstemp.c (mkstemps): Cast variable `len' to (int) when
3427 comparing against one.
3431 * mkstemp.c: Check HAVE_SYS_TIME_H before including sys/time.h
3432 * configure.in (AC_CHECK_HEADERS): Check for sys/time.h too.
3433 * config.in, configure: Rebuilt.
3435 * getopt.c: Check HAVE_STRINGS_H before including strings.h.
3436 * configure.in (AC_CHECK_HEADERS): Check for strings.h too.
3437 * config.in, configure: Rebuilt.
3441 * configure.in: in comment, call AC_EXEEXT instead of AM_EXEEXT
3445 * Makefile.in (cplus-dem.o, obstack.o): Depend upon config.h.
3449 * Merge egcs & devo libiberty.
3453 * cplus-dem.c (demangle_arm_pt): Demangle anonymous namespaces.
3457 * mkstemp.c: Include config.h even when not IN_GCC. Wrap header
3458 inclusions inside HAVE_*_H macros. Include ansidecl.h when not
3461 * vasprintf.c: Include stdarg.h/varargs.h first.
3463 * vprintf.c: Likewise.
3467 * pexecute.c: Updates from gcc. Copy in gcc has been removed. This
3468 is the canonical copy. Define ISSPACE if !IN_GCC.
3469 * alloca.c, vfprintf.c, choose-temp.c, mkstemp.c, getopt.c: Similarly.
3470 * getopt1.c, obstack.c: Similarly.
3471 * Makefile.in: Build mkstemp.o
3475 * configure.in: Include asprintf in list of functions known not
3477 * configure: Rebuild.
3481 * cplus-dem.c (work_stuff): Add dllimported.
3482 (demangled_prefix): Mark symbols imported from PE DLL.
3483 (internal_cplus_demangled): Handle.
3487 * cplus-dem.c (do_type): Fix simple array handling. If we fail,
3492 * cplus-dem.c: Include config.h if it exists. Also, only
3493 prototype malloc/realloc if we can't get stdlib.h.
3497 * configure.in: Switch back to checking --with-target-subdir when
3498 deciding whether to check for newlib, undoing part of July 15
3500 * configure: Rebuild.
3504 * cplus-dem.c (type_kind_t): New type.
3505 (demangle_template_value_parm): Add type_kind_t parameter. Rely
3506 on this paramter, rather than demangling the type again.
3507 (demangle_integral_value): Pass tk_integral.
3508 (demangle_template_: Pass the value returned from do_type.
3509 (do_type): Return a type_kind_t. Pass tk_integral to
3510 demangle_template_value_parm for array bounds.
3511 (demangle_fund_type): Likewise.
3513 Also incorporate from GCC version:
3517 * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
3521 * cplus-dem.c (demangle_nested_args): Make function definition
3522 static to match the prototype.
3526 * cplus-dem.c (type_kind_t): New type.
3527 (demangle_template_value_parm): Add type_kind_t parameter. Rely
3528 on this paramter, rather than demangling the type again.
3529 (demangle_integral_value): Pass tk_integral.
3530 (demangle_template_: Pass the value returned from do_type.
3531 (do_type): Return a type_kind_t. Pass tk_integral to
3532 demangle_template_value_parm for array bounds.
3533 (demangle_fund_type): Likewise.
3535 Also incorporate from GCC version:
3539 * cplus-dem.c (do_type): Use demangle_template_value_parm for arrays.
3543 * Makefile.in (ALLOCA): New variable.
3544 ($(TARGETLIB)): Add $(ALLOCA) to library.
3545 (needed-list): Add $(ALLOCA).
3546 ($(ALLOCA)): Depend upon stamp-picdir.
3550 * cplus-dem.c (demangle_nested_args): Make function definition
3551 static to match the prototype.
3555 * configure.in: Check --with-cross-host rather than
3556 --with-target-subdir when deciding whether build uses a cross
3557 compiler, and when deciding where to install the library.
3558 * configure: Rebuild.
3562 * cplus-dem.c (demangle_nested_args): Return a value.
3566 * cplus-dem.c (string): Move definition before work_stuff.
3567 (work_stuff): Add volatile_type, forgetting_types,
3568 previous_argument, and nrepeats fields.
3569 (SCOPE_STRING): New macro.
3570 (demangle_template): Add `remember' parameter. Add comment.
3571 Register the `B' code type here, if remembering. Tidy. Fix crash
3572 on NULL tmpl_argvec. Be consistent with use of tname/trawname.
3573 (demangle_nested_args): New function.
3574 (internal_cplus_demangle): Handle volatile-qualified member
3576 (mop_up): Delete the previous_argument string if present.
3577 (demangle_signature): Tidy. Handle volatile-qualified member
3578 functions. Handle back-references using the `B' code. Use extra
3579 parameter to demangle_template and SCOPE_STRING where appropriate.
3580 (demangle_template_value_parm): Fix thinko; 'B' is not an integral
3582 (demangle_class): Use SCOPE_STRING.
3583 (gnu_special): Pass additional argument to demangle_template.
3585 (demangle_qualified): Save qualified types for later
3586 back-references. Handle constructors and destructors for template
3588 (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to
3589 demangle_template. Use demangled_nested_args. Don't remember
3590 qualified types here; that's now done in demangle_qualified.
3591 Similarly for templates.
3592 (do_arg): Improve commment. Handle 'n' repeat code.
3593 (remember_type): Check forgetting_types.
3594 (demangle_args): Deal with 'n' repeat codes. Tidy.
3598 * config.table: Only use mh-fbsd21 on *-*-freebsd2.2.[012], not on
3603 * configure.in (setobjs): Correct quoting error in cygwin32 case.
3608 * obstack.c: Update to latest FSF version.
3612 * Makefile.in: Add a dependency on stamp-picdir for the
3613 objects, so that we can do a parallel build.
3617 * configure.in (checkfuncs): Add missing "'".
3621 * obstack.c (_obstack_memory_used): Elide this function if we're
3622 on a system with GNU libc.
3626 * Makefile.in (distclean): Remove config.log.
3630 * Makefile.in (distclean): Don't remove alloca-conf.h.
3634 * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
3638 * cplus-dem.c (do_type): Handle volatile qualification.
3642 * configure.in: Check for unistd.h as well.
3643 * configure: Rebuild.
3644 * config.in: Rebuild.
3645 * getpagesize.c (GNU_OUR_PAGESIZE): Use sysconf only if _SC_PAGESIZE
3646 is defined in unistd.h. Reformat conditional block for easier reading.
3648 * config.table (shared): Default to no if ${enable_shared}
3649 is unset or empty; this logic is used by the toplevel
3650 configure scripts, too.
3654 * config.table: Add line to set enable_shared in the Makefile
3659 * cplus-dem.c (squangle_mop_up): Change return type to void.
3660 (internal_cplus_demangle): Remove unused parameter `options'.
3661 All callers changed.
3662 (cplus_demangle_opname): Remove function wide variable `int i' and
3663 replace with `size_t i' at each location where it is used.
3664 (cplus_mangle_opname): change type of `i' from int to size_t.
3668 * alloca-conf.h: Include config.h. Check HAVE_ALLOCA_H rather
3670 * Makefile.in (argv.o): Depend upon config.h and alloca-conf.h.
3674 * configure.in: Set libiberty_topdir correctly when srcdir is
3675 "." and with_target_subdir is not set.
3676 * configure: Rebuild.
3680 * configure.in: Add *-*-mingw32* case.
3681 * configure: Rebuild.
3685 * config.table: Never use a PIC file for *-*-cygwin32*.
3687 * Makefile.in (config.status): Depend upon config.table.
3689 * configure.in: On a cygwin32 host, always compile random, and
3690 don't test for sys_siglist, strsignal, or psignal.
3691 * configure: Rebuild.
3693 * clock.c: Check HAVE_SYS_PARAM_H rather than NO_SYS_PARAM_H.
3694 * getcwd.c: Likewise.
3695 * getpagesize.c: Likewise.
3696 * getruntime.c: Likewise.
3700 Use autoconf tests rather than the old dummy.c test:
3701 * configure.in: Add AC_ARG_WITH calls for --with-target-subdir and
3702 --with-newlib. Add AC_CONFIG_HEADER. Use AC_REPLACE_FUNCS for
3703 most functions. Add special cases to handle newlib and VxWorks.
3704 Remove target_makefile_frag. Create stamp-h in AC_OUTPUT if
3705 CONFIG_HEADERS is set. Only call config-ml.in in AC_OUTPUT if
3706 CONFIG_FILES is set; set ac_file before calling it.
3707 * config.table (arm-*-riscix*, *-*-cygwin32): Remove.
3708 (*-*-hpux*, *-*-hiux*, *-*-irix4*, *-*-solaris2*): Remove.
3709 (*-*-sysv4*, *-*-go32, *-*-vxworks5*, *-*-vxworks): Remove
3710 (i[3456]-*-mingw32*): Remove.
3711 * Makefile.in (ERRORS_CC, CONFIG_H, NEEDED_LIST): Remove.
3712 (LIBOBJS): New variable.
3713 (HOST_OFILES, DO_ALSO, STAGESTUFF): Remove.
3714 (all): Depend upon needed-list. Don't check RULE1.
3715 (@target_makefile_frag@): Remove.
3716 (COMPILE.c): Include @DEFS@.
3717 (HFILES): Add alloca-conf.h.
3718 (REQUIRED_OFILES): Remove basename.o.
3719 ($(TARGETLIB)): New target.
3720 (stamp-needed, lneeded-list, needed.awk, stamp-config): Remove.
3721 (lconfig.h, needed2.awk, dummy.o, errors): Remove.
3722 (needed-list, config.h): Rewrite.
3723 (RULE1, $(RULE1), RULE2, $(RULE2)): Remove.
3725 (Makefile): Set CONFIG_FILES and CONFIG_HEADERS.
3726 (stamp-h): New target.
3727 (atexit.o, clock.o, getcwd.o, getpagesize.o): New targets.
3728 (basename.o): Don't depend upon config.h.
3729 (getruntime.o): Depend upon config.h.
3730 * atexit.c: Include config.h. Check HAVE_ON_EXIT rather than
3732 * basename.c: Don't include config.h. Don't check NEED_basename.
3733 * clock.c: Include config.h.
3734 * getcwd.c: Likewise.
3735 * getpagesize.c: Likewise.
3736 * getruntime.c: Likewise. Fix checks which set HAVE_GETRUSAGE and
3738 * strerror.c: Change uses of NEED_sys_errlist to
3739 HAVE_SYS_ERRLIST. Likewise for NEED_strerror and HAVE_STRERROR.
3740 * strsignal.c: Likewise for NEED_sys_siglist and HAVE_SYS_SIGLIST,
3741 and for NEED_strsignal and HAVE_STRSIGNAL and for NEED_psignal and
3743 * acconfig.h: New file.
3745 * functions.def: Remove.
3746 * config/mh-cxux7 (HDEFINES): Remove -DHAVE_SYSCONF.
3747 * config/mh-windows (HDEFINES): Remove.
3748 * config/mh-cygwin32: Remove.
3749 * config/mh-go32: Remove.
3750 * config/mh-irix4: Remove.
3751 * config/mh-riscix: Remove.
3752 * config/mh-sysv4: Remove.
3753 * config/mt-mingw32: Remove.
3754 * config/mt-vxworks5: Remove.
3755 * config.in: New file, generated using autoheader.
3756 * configure: Rebuild.
3760 * configure.in: Rewrite to use autoconf.
3761 * configure: Generate using autoconf.
3762 * config/mh-a68bsd: Remove.
3763 * config/mh-apollo68: Remove.
3764 * config/mh-hpbsd: Remove.
3765 * config/mh-ncr3000: Remove.
3766 * config/mh-sysv: Remove.
3767 * config/mh-aix (RANLIB, INSTALL): Don't define.
3768 * config/mh-cxux7 (RANLIB, INSTALL): Don't define.
3769 * config/mh-irix4 (CC, RANLIB, INSTALL): Don't define.
3770 * config/mh-sysv4 (RANLIB, INSTALL): Don't define.
3771 * config.table: Change config_shell to CONFIG_SHELL, and use
3772 libiberty_topdir to find move-if-change.
3773 (m68k-apollo-bsd*, m68k-apollo-sysv*): Remove.
3774 (i[3456]86-ncr-sysv4*, *-*-dgux*, hppa*-hp-bsd*): Remove.
3775 (*-*-irix*, *-*-m88kbcs*, *-*-sysv*): Remove.
3776 * Makefile.in (srcdir): Set to @srcdir@.
3778 (prefix, exec_prefix, bindir, libdir): Set to autoconf variables.
3779 (SHELL, INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Likewise.
3780 (CC, CFLAGS, RANLIB)): Likewise.
3781 (datadir, man*dir, infodir, includedir, MAKEINFO): Remove.
3782 (target_makefile_frag, host_makefile_frag): Add substitutions.
3783 (INSTALL_DEST): Set to @INSTALL_DEST@.
3784 (Makefile): Depend upon config.status. Don't depend upon
3785 $(host_makefile_frag) or $(target_makefile_frag).
3786 (config.status): New target.
3790 * config/mt-sunos4: Remove. Should be handled by --with-headers
3791 and --with-libraries options at top level.
3792 * config.table: Never use mt-sunos4.
3794 * alloca-conf.h: New file, combining alloca-norm.h and
3796 * alloca-norm.h: Remove.
3797 * alloca-botch.h: Remove.
3798 * configure.in: Set shell variables files and links to empty.
3799 * config.table: Don't set shell variable files.
3800 * configure.bat: Don't create alloca-conf.h.
3801 * makefile.vms: Likewise.
3802 * mpw-config.in: Likewise.
3803 * vmsbuild.com: Likewise.
3807 * Makefile.in ($(HOST_OFILES) $(REQUIRED_OFILES)): Remove old
3808 target depending upon config.h.
3809 (alloca.o): Add target depending upon config.h
3810 (basename.o, choose-temp.o, fnmatch.o): Likewise.
3811 (getopt.o, getopt1.o, pexecute.o, strerror.o): Likewise.
3812 (strsignal.o, xstrerror.o): Likewise.
3816 * cplus-dem.c (cplus_demangle_opname): Initialize work.
3820 * cplus-dem.c (demangle_qualified): Replace missing else.
3824 * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
3825 length in the name of a virtual table.
3829 * cplus-dem.c (struct work stuff): Add field for B and K mangle codes.
3830 (cplus_demangle_opname): Call mop_up_squangle.
3831 (cplus_demangle): Initialize squangle info, then call
3832 internal_cplus_demangle. (Most code moved there as well)
3833 (internal_cplus_demangle): New function, performs most of what use
3834 to be done in cplus_demangle, but is only called with this file.
3835 (squangle_mop_up): New function to clean up B and K code data.
3836 (mop_up): set pointers to NULL after freeing.
3837 (demangle_signature, demangle_template, demangle_class): Add
3838 switch elements to handle K and B codes.
3839 (demangle_prefix, gnu_special, demangle_qualified): Add
3840 code to handle K and B codes.
3841 (do_type, demangle_fund_type): Handle B and K codes.
3842 (remember_Ktype): New function to store K info.
3843 (register_Btype, remember_Btype): New functions for B codes.
3844 (forget_B_and_K_types): New function to destroy B and K info.
3848 * COPYING.LIB, choose-temp.c, cplus-dem.c: Sync with egcs & gcc.
3852 * config.table: Make locating frag files failsafe even for the
3853 special case if configuring and building in srcdir.
3857 * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
3861 * choose-temp.c: Sync with copy in gcc.
3865 * getopt.c: Update to latest FSF version.
3866 * getopt1.c: Likewise.
3870 * cplus-dem.c (gnu_special): Don't get confused by .<digits>
3871 strings that are not actually lengths.
3875 * Makefile.in (FLAGS_TO_PASS): Don't pass PICFLAG.
3876 (.c.o): Check value of enable_shared, not PICFLAG.
3877 (stamp-picdir): Dito.
3881 * config/mh-cygwin32: remove vasprintf.o from EXTRA_OFILES
3882 since it gets built automatically
3886 * config.table (vxworks configs): Default to VxWorks 5.x, as that is
3887 the currently shipping OS.
3891 * vmsbuild.com [REQUIRE_OFILES]: Synchronized with Makefile.in:
3892 Add fnmatch.o and objalloc.o; remove vasprintf.o.
3893 [config.h]: Define NEED_strsignal.
3897 * functions.def: Correct argument types for strerror and
3902 * vasprintf.c (int_vasprintf): Increase buffer size for float/double
3908 Add mingw32 support.
3909 * pexecute.c (pexecute): New function for mingw32. Supports pipes.
3910 (pwait): New function for mingw32.
3912 * config.table (i[3456]86-*-mingw32*): Support for i386-mingw32.
3913 * config/mt-mingw32: New file.
3914 * xmalloc.c (first_break): Not used for mingw32.
3915 (xmalloc_set_program_name): Don't use sbrk on mingw32.
3916 (xmalloc): Likewise.
3917 (xrealloc): Likewise.
3921 * choose-temp.c: Sync with gcc version.
3925 * Makefile.in (install_to_libdir, install_to_tooldir): Add MULTISUBDIR
3926 to all filenames in libdir and tooldir.
3927 (distclean): Do MULTICLEAN before deleting Makefile.
3928 (stamp-needed, stamp-config): Add MULTISRCTOP to
3929 pathname for move-if-change.
3933 * strsignal.c (sys_nsig): Try NSIG and _NSIG.
3937 * alloca-norm.h (alloca, GCC case): Don't redefine alloca if it
3938 was already defined previously.
3942 * Makefile.in (INSTALL): Use ../install-sh, not install.
3946 * Makefile.in (CFILES): Add pexecute.c.
3950 * asprintf.c: Consistently use either stdarg or varargs.
3954 * cplus-dem.c (demangle_signature): Don't look for return types on
3955 constructors. Handle member template constructors.
3959 * README: Fix configuration instructions.
3963 * pexecute.c: Update to current version from /gd/gnu/lib:
3967 * pexecute.c: Use spawn if __CYGWIN32__.
3971 * pexecute.c: Include "config.h" first, as per autoconf manual.
3975 * pexecute.c (fix_argv): New function.
3976 (pexecute): Win32 but not Cygwin32 needs its arguments fixed.
3977 Add underscore to cwait function call.
3981 * cplus-dem.c (demangle_template): Add new parameter. Handle new
3982 template-function mangling.
3983 (consume_count_with_underscores): New function.
3984 (demangle_signature): Handle new name-mangling scheme.
3988 * asprintf.c: stdarg.h when ALMOST_STDC
3989 * config/mh-windows (EXTRA_OFILES): add asprintf.o and
3994 * vasprintf.c (vasprintf): Allow for _BSD_VA_LIST_.
3996 * config.table: Add case for FreeBSD 2.1 and 2.2, needs mh-fbsd21.
3998 * config/mh-fbsd21 (EXTRA_OFILES): Force vasprintf.o
4002 * cplus-dem.c (demangle_fund_type): Change "complex" to "__complex".
4006 * asprintf.c (asprintf): New file.
4007 * Makefile.in (CFILES): Add asprintf.c
4008 * functions.def: Ditto.
4012 * argv.c (dupargv): New function, duplicate an argument vector.
4016 * config/mh-cygwin32: also build random.o
4020 * cplus-dem.c: Add 'extern' to prepends_underscore.
4024 * cplus-dem.c: Various changes to produce Java output when passed
4025 DMGL_JAVA. Thus "::" becomes "." and "JArray<Foo>" becomes "Foo[]".
4026 (main): Support --java and -j flags to set DMGL_JAVA.
4030 * config/mh-go32 (CC, AR, RANLIB): Don't define.
4034 * Makefile.in (REQUIRED_OFILES): Add pexecute.o.
4035 (pexecute.o): New target.
4037 * Makefile.in (stamp-needed): New target, replacing needed-list.
4038 (needed-list): Just depend upon stamp-needed.
4039 (stamp-config): New target, replacing config.h.
4040 (config.h): Just depend upon stamp-config.
4041 (mostlyclean): Remove stamp-*.
4045 * Makefile.in (FLAGS_TO_PASS): pass INSTALL, INSTALL_PROGRAM and
4046 INSTALL_DATA for multilibbed installs
4052 * choose-temp.c (choose_temp_base): Don't dump core if TMPDIR is empty.
4054 * choose-temp.c (try): Insist that temp dir be searchable.
4058 * choose-temp.c (choose_temp_base): On VMS, use proper syntax
4059 for current directory.
4063 * pexecute.c: Remove special cases for cygwin32.
4064 (pwait): Remove local definition of `pid'.
4068 * pexecute.c (vfork): Supply new definition for VMS.
4069 (pwait): Use waitpid instead of wait for VMS.
4073 * cplus-dem.c (do_type): Handle `J'.
4074 (demangle_fund_type): Print "complex" for it.
4078 * configure.in: Don't turn on multilib here.
4082 * obstack.c: move _obstack_memory_used outside of ifdef. Cannot be
4083 elided; needed by gdb and not present in libc.
4087 * Makefile.in (clean): Remove tmpmulti.out.
4091 * floatformat.c (floatformat_ieee_double_littlebyte_bigword):
4092 Add new floatformat, mainly for ARM doubles.
4096 * config.table: Use ${config_shell} with ${moveifchange}. From
4101 * configure.in: Enable multilibing by default.
4102 Update multilib template to read config-ml.in.
4106 * makefile.vms: Add objalloc.
4110 * cplus-dem.c (demangle_it): Add prototype declaration.
4111 (usage, fatal): Likewise.
4113 * xexit.c (_xexit_cleanup): Add prototype.
4115 * strerror.c (init_error_tables): Declare.
4119 * functions.def: Add DEF of vasprintf, and DEFFUNC of strsignal.
4120 * strsignal.c: Only define strsignal if NEED_strsignal.
4121 * Makefile.in (REQUIRED_OFILES): Remove vasprintf.o.
4122 * configure.in: Add NEED_strsignal to xconfig.h. Add vasprintf.o
4124 * config/mh-cygwin32 (HDEFINES): Add -DNEED_strsignal.
4125 (EXTRA_OFILES): Define to vasprintf.o.
4126 * config/mh-windows (HDEFINES): Add -DNEED_strsignal.
4127 (EXTRA_OFILES): Add vasprintf.o.
4128 * config/mt-vxworks5 (vxconfig.h): Define NEED_strsignal.
4129 (vxneeded-list): Add vasprintf.o.
4133 * objalloc.c: Include <stdio.h>.
4137 * objalloc.c: New file.
4138 * Makefile.in (CFILES): Add objalloc.c
4139 (REQUIRED_OFILES): Add objalloc.o.
4140 (objalloc.o): New target.
4144 * obstack.c: Update to current FSF version.
4148 * cplus-dem.c: Add prototypes for all static functions.
4149 (mystrstr): Make static. Make arguments and result const.
4150 (cplus_match): Remove; not used.
4154 * cplus-dem.c (gnu_special): Call demangled_fund_type for other
4159 * spaces.c: Declare malloc and free properly.
4160 * strsignal.c (init_signal_tables): Add prototype.
4161 * xatexit.c (_xexit_cleanup): Add parameter declarations.
4165 * Makefile.in (lneeded-list): If alloca.o is needed, xexit.o is
4166 also required because of xmalloc.o.
4170 * strsignal.c: Unconditionally redefine sys_siglist around the
4171 inclusion of the system header files.
4175 * makefile.vms: Remove 8 bit characters. Update to latest
4180 * strsignal.c: Use NEED_sys_siglist instead of
4182 * config.table: Don't use mh-lynxos.
4183 * config/mh-lynxos: Remove.
4187 * cplus-dem.c: Fix indenting; make identical to the copy
4189 (do_type, case 'M'): Check for a template as well as a class.
4193 * config/mt-vxworks5 (vxneeded-list): Remove sigsetmask.o, since
4194 vxworks 5.[0-3] all have sigsetmask in them; the one provided by
4195 libiberty is incorrect, as well.
4199 * alloca.c (alloca): When compiled with an ANSI/ISO compiler,
4200 alloca takes a size_t argument, not just unsigned.
4204 * cplus-dem.c: Note that this file also lives in GCC.
4208 * alloca.c: Remove include of libiberty.h for hpux.
4209 * argv.c: Replace defs from libiberty.h.
4210 * spaces.c: Put back externs from removed from libiberty.h.
4211 * vasprintf.c: Remove include of libiberty.h for hpux.
4215 * cplus-dem.c: Checking in again; last checkin filed due to sticky tag.
4219 * cplus-dem.c: Revert last two commits due to conflicts with
4220 hpux system headers.
4224 * alloca.c, argv.c, spaces.c, strcasecmp.c, vasprintf.c, vprintf.c:
4225 Revert last commit due to conflicts with hpux system headers.
4229 * cplus-dem.c (x{m,re}alloc): Make declarations compatibile with
4230 libiberty.h when compiled with a standard compiler.
4234 * alloca.c: Include libiberty.h for definition of xmalloc.
4235 Don't redefine NULL.
4236 * argv.c: Move prototypes to libiberty.h.
4237 * cplus-dem.c: Include libiberty.h for definition of xmalloc.
4238 Don't redefine NULL.
4239 Use casts to eliminate compiler warnings.
4240 * spaces.c: Remove prototypes for malloc and free which are
4241 already in libibrty.h.
4242 * strcasecmp.c: Use casts to eliminate compiler warnings.
4243 * vasprintf.c: Include libiberty.h for definition of malloc.
4244 Don't redefine NULL.
4245 * vprintf.c: Include stdarg.h if __STDC__.
4249 * config/mh-windows: Add strcasecmp.o to EXTRA_OFILES.
4253 * mpw.c (mpwify_filename): Rewrite to simplify, and to handle
4254 upward components correctly.
4258 * config.table, config/mh-windows: Add support for building under
4259 MSVC (the Microsoft build environment).
4263 * fnmatch.c: Undef const if not __STDC__.
4267 * fnmatch.c: New file.
4268 * Makefile.in (CFILES): Add fnmatch.c.
4269 (REQUIRED_OFILES): Add fnmatch.o.
4270 (fnmatch.o): New target.
4274 * cplus-dem.c (demangle_template): Fix handling of address args.
4275 (gnu_special): Handle type_info stuff.
4279 * mpw.c (DebugPI): Make settable from the env var DEBUG_PATHNAMES.
4280 (mpwify_filename): Handle "::/" case.
4284 * config/mh-cygwin32: new file (need -DNEED_basename and
4285 -DNEED_sys_siglist for native NT rebuilding)
4286 * config.table (*-*-cygwin32): new entry
4287 * choose-temp.c: bring in sync with gcc (revert Aug 17 change)
4291 * config.table (i[345]86-*-*): Recognize i686 for pentium pro.
4295 * pexecute.c (pexecute) [MPW]: Remove old bogus code that
4296 messed with arguments that included a '/', add escape chars
4297 to double quotes, remove const decl from arg that Mac
4298 compilers don't seem to like.
4302 * pexecute.c: Update test for win32 (&& ! cygwin32).
4303 * choose-temp.c: fix WIN32 preprocessor defines
4307 * mpw-make.sed: Add @DASH_C_FLAG@ and @SEGMENT_FLAG({Default})@
4308 to editing of default makefile rule.
4312 * alloca-norm.h: Include <malloc.h> if _WIN32.
4313 * argv.c: Include non-prototyped decls for malloc and string
4314 functions if ! _WIN32 or if __GNUC__.
4318 * config.h-vms: New file.
4319 * makefile.vms: Use it.
4323 * getopt.c (_getopt_internal): If argc is 0, just return (before
4324 we reference *argv and segfault).
4328 * Makefile.in (distclean): Add multilib.out.
4332 * alloca-norm.h: Change #ifdef sparc to #if defined (sparc) &&
4339 * vmsbuild.com (REQUIRD_OFILES): Add choose-temp.o and xstrdup.o.
4343 * vmsbuild.com: Changes to handle DEFFUNC(on_exit).
4344 (do_ofiles): Allow nonexistent source file in pass 3.
4345 (chk_deffunc): New routine.
4349 * pexecute.c (PEXECUTE_VERBOSE): Define.
4350 (MPW pexecute): Check flags & PEXECUTE_VERBOSE instead of verbose_flag.
4354 * Makefile.in (docdir): Removed.
4358 * Makefile.in (oldincludedir): Removed.
4362 * Makefile.in (datadir): Set to $(prefix)/share.
4366 * cplus-dem.c (demangle_arm_pt): Reindent. Avoid endless loop by
4367 checking for errors from do_type.
4371 * makefile.vms: New file.
4372 * xmalloc.c: If VMS, include <stdlib.h> and <unixlib.h> rather
4373 than declaring malloc, realloc, and sbrk.
4377 * pexecute.c: New file.
4381 * xmalloc.c: Declare sbrk.
4385 * alloca-norm.h: Add SPARCworks cc compatible __builtin_alloca
4390 * xstrerror.c: Include <stdio.h>.
4394 * Makefile.in (CFILES): Add atexit.c.
4398 * choose-temp.c: Include sys/types.h before sys/file.h for sco3.2v5.
4402 * choose-temp.c: Don't #include sys/file.h ifdef NO_SYS_FILE_H.
4404 * config/mt-vxworks5 (HDEFINES): Define NO_SYS_FILE_H.
4408 * Makefile.in (lneeded-list): If alloca.o is needed, so is xmalloc.o.
4409 Reverts Feb 8, 1995 change.
4413 * choose-temp.c: New file.
4414 * Makefile.in (CFILES): Add choose-temp.c.
4415 (REQUIRED_OFILES): Add choose-temp.o.
4419 * floatformat.c (floatformat_to_double): Don't bias exponent when
4420 handling zero's, denorms or NaNs.
4424 * floatformat.c (floatformat_to_double): Fix bugs with handling
4425 numbers with fractions < 32 bits.
4429 * config.table: Permit --enable-shared to specify a list of
4434 * cplus-dem.c (demangle_template): Fix for non-mangled pointer
4439 * configure.in: If srcdir is `.' and with_target_subdir is not
4440 `.', then set MULTISRCTOP before calling config-ml.in.
4444 * mpw.c (mpw_open): Add debugging output option.
4448 * cplus-dem.c (demangle_template): Fix for address-of-extern arguments.
4452 * mpw.c (mpwify_filename): Change 6 to 5 in
4453 strncmp (unixname, "/tmp/", 5).
4457 * cplus-dem.c (demangle_template): Initialize is_bool. Correctly
4458 handle 0 as a pointer value parameter.
4462 * Makefile.in (all): Depend upon required-list.
4463 (required-list): New target.
4464 (clean): Remove required-list.
4469 * config.table (i386-*-win32): Deleted.
4470 * config/mh-i386win32: Deleted.
4474 * cplus-dem.c (cplus_demangle_opname): Change opname parameter to
4476 (cplus_mangle_opname): Change return type and opname parameter to
4477 const char *. Don't cast return value.
4481 * mpw.c: Include Timer.h, in order to get m68k Microseconds trap
4486 * obstack.c: Update copyright to 1996.
4487 (_obstack_memory_used): Define new function. Called via
4488 obstack_memory_used macro.
4492 * xstrdup.c: New file.
4493 * Makefile.in (CFILES): Add xstrdup.c.
4494 (REQUIRED_OFILES): Add xstrdup.o.
4495 (xstrdup.o): New target.
4499 * atexit.c: New stub to provide atexit on systems that have
4500 on_exit, like SunOS 4.1.x systems.
4501 * functions.def (on_exit, atexit): Ditto.
4505 * mpw.c (mpw_abort): Remove decl.
4506 (mpw_access): Move debugging printf.
4510 * config.table: Consistently use ${host} rather than ${xhost} or
4512 * configure.in: Don't bother to set ${xhost} before calling
4517 * Makefile.in (.c.o): Use test instead of the left bracket, to
4518 avoid problems with some versions of make.
4522 * mpw-make.sed: Fix INCDIR edit to work with Nov 14 change.
4526 * config/mh-hpux: Remove. It was only used to define EXTRA_OFILES,
4527 which was set to just alloca.o, which is now automatically marked
4528 as needed by the autoconfiguration process.
4532 * config.table: Check ${with_cross_host} rather than comparing
4533 ${host} and ${target}.
4537 * configure.in: If with_target_subdir is empty, set xhost to
4538 ${host} rather than ${target} before calling config.table.
4542 * Makefile.in (MULTITOP): Deleted.
4543 (MULTISRCTOP, MULTIBUILDTOP): New.
4544 (FLAGS_TO_PASS): Delete INCDIR.
4545 (INCDIR): Add $(MULTISRCTOP).
4546 (install_to_libdir): Add $(MULTISUBDIR). Call $(MULTIDO).
4547 * configure.in: Delete call to cfg-ml-com.in. Call config-ml.in
4548 instead of cfg-ml-pos.in.
4549 (cross-compile check): Change to test for with_target_subdir.
4550 (EXTRA_LINKS): Delete.
4554 * mpw-make.sed: Add getpagesize.c.o to needed-list.
4555 * mpw.c [USE_MW_HEADERS]: Conditionalize compiling of
4556 functions that are supplied by Metrowerks libraries.
4557 (fstat): Clean up descriptor->pointer conversion code.
4558 (InstallConsole, etc): Empty definitions, for when linking
4563 * Makefile.in (FLAGS_TO_PASS): Also pass PICFLAGS.
4564 (.c.o): Stylistic change.
4568 * strtol.c, strtoul.c: Don't include <stdlib.h>. From
4573 * configure.in: Correct sed call.
4577 * configure.in: Clean up / simplify for native.
4579 * configure.in: Merge in stuff from ../xiberty/configure.in.
4580 * Makefile.in (CC): Add definition (so it can be overrridden
4585 * mpw-make.sed: Leave strerror.c.o in standard list of functions.
4586 * mpw.c (R_OK, ENOENT, EACCESS, ENOSYS): Remove.
4587 (link): Remove useless definition with error return.
4588 (last_microseconds, warn_if_spin_delay, record_for_spin_delay):
4589 Use UnsignedWide type for microsecond counts.
4593 * memcmp.c (memcmp): Argument types are const void *, not void
4596 * strncasecmp.c (strncasecmp): Include ansidecl.h/stdarg.h, not
4598 * strcasecmp.c (strcasecmp): Ditto.
4602 * Makefile.in (BISON): Remove macro.
4606 * Makefile.in (HFILES): Add default empty definition.
4607 * mpw-config.in (config.h): Only update if changed.
4608 * mpw-make.in: Remove.
4609 * mpw-make.sed: New file, edits Makefile.in into MPW makefile.
4610 * mpw.c: Remove semi-clone of strerror code.
4611 (sys_nerr, sys_errlist): Define here.
4612 (Microseconds): Only define as A-line trap if m68k Mac.
4616 * Makefile.in (maintainer-clean): New synonym for distclean.
4620 * config.table: For host, generalize rs6000-ibm-aix*
4621 to *-ibm-aix* so we also include powerpc.
4627 * xstrerror.c: New file.
4628 * Makefile.in, vmsbuild.com: Compile it.
4632 * config.table (i386-*-win32): New.
4636 * Makefile.in (MULTITOP): New variable.
4637 (MULTIDIRS, MULTISUBDIR, MULTIDO, MULTICLEAN): Likewise.
4638 (all): Add multilib support.
4639 (install_to_tooldir, *clean): Likewise.
4643 * makefile.dos (OBJS): Add hex.o. From DJ Delorie.
4647 * vmsbuild.com: create "new-lib.olb", build libiberty under that
4648 name, and then make it become "liberty.olb" when done, so that an
4649 incomplete build attempt never leaves behind something which looks
4650 like a complete library.
4654 * config/mh-i386pe: New file for PE hosts.
4655 * config.table: Understand PE hosts.
4659 * cplus-dem.c: Update from gcc.
4661 * argv.c, dummy.c: If __STDC__, #include "alloca-conf.h" after
4663 * alloca-norm.h: If __STDC__, declare alloca with its parameter.
4667 * mpw-make.in (ALL_CFLAGS): Define NEED_basename.
4668 * mpw.c: Only test DebugPI once whenever printing debug info.
4669 (mpwify_filename): If filename is /tmp/foo, change it into :_foo,
4670 also fix to not write on input filename buffer.
4671 (mpw_access): Use stat() instead of open(), works for directories
4676 * Makefile.in: Massage broken shells that require 'else true'.
4680 * alloca-norm.h: Declare alloca as type "PTR" to match functions.def.
4681 Declare __builtin_alloca in the sparc case, as argv.c did.
4682 * argv.c: Replace inline version of alloca-norm.h at start of file with
4683 a #include of alloca-conf.h. Precede it with an include of ansidecl.h
4684 because alloca-norm.h needs to declare alloca as "PTR".
4688 * win32.c: New file.
4692 * dummy.c: #include "alloca-conf.h".
4696 * Makefile.in (mostlyclean): Remove stamp-picdir.
4701 * config.table (frags): Use toplevel pic frags.
4703 * Makefile.in (PICFLAG): New macro.
4704 (all): Depend on stamp-picdir.
4705 (needed-list): Ditto.
4706 (.c.o): Also build pic object.
4707 (stamp-picdir): New rule.
4708 (mostlyclean): Remove pic.
4709 (clean): Remove stamp-picdir.
4713 * vmsbuild.com (config.h): Add `#define NEED_basename'.
4717 * clock.c, getopt.c, strtod.c, vsprintf.c: Change from using LGPL
4718 to libio-style copyright.
4719 * getpagesize.c: Remove FSF copyright.
4723 Added improved VMS support from Pat Rankin:
4727 * vmsbuild.com: new file.
4729 * getpagesize.c (getpagesize): implement for VMS;
4730 * strerror.c (strerror, strerrno, strtoerrno): add rudimentary
4731 support for EVMSERR.
4737 * floatformat.c (floatformat_arm_ext): Define.
4741 * basename.c, bcmp.c, getcwd.c, insque.c, rename.c, sigsetmask.c,
4742 strerror.c, strsignal.c: Remove FSF copyright.
4743 * sigsetmask.c: #include <sys/types.h> - seems to be needed by ISC.
4747 * bcopy.c, bzero.c, memcmp.c, memcpy.c, memset.c, strchr.c,
4748 strrchr.c, strstr.c, vfork.c: Remove FSF Copyright, because this
4749 might contaminate libstdc++ with the LGPL. (OK'd by RMS 11 Oct 94.)
4750 * strchr.c, strrchr.c: Add cast to suppress const warning.
4754 * cplus-dem.c: Use const instead of CONST. Don't include
4755 ansidecl.h directly.
4759 * cplus-dem.c: Don't include libiberty.h. Do declare xmalloc and
4761 (-DMAIN): Don't rely on an externally-defined version number;
4762 instead, require the version number to be defined as a
4763 preprocessor macro. Handle the RS/6000 leading dot. Define
4764 xmalloc, xrealloc and fatal. Don't strip a leading underscore
4765 if we couldn't demangle the word.
4769 (Old mpw.c change descriptions retained for informational value.)
4770 * mpw.c (warning_threshold): Default to .4 sec.
4771 (overflow_count, current_progress): New globals.
4772 (warn_if_spin_delay): Include current progress type,
4773 such as program name, in message.
4774 (mpw_start_progress): Set current_progress variable from arg.
4775 (mpw_end_progress): Report spin delays by power-of-two-size
4776 buckets instead of constant-size buckets.
4778 * mpw.c: Clean up formatting, types, returns, etc.
4780 (mpw_fread, mpw_fwrite): Define.
4781 (sleep): Define correctly.
4783 * mpw.c: New code to implement cursor spinning support.
4784 (umask): New function.
4785 (mpw_fopen, mpw_fseek, stat, fstat): Call PROGRESS.
4787 * mpw.c (mpw_basename, mpw_mixed_basename): New functions, find
4788 basenames for MPW and MPW/Unix filenames.
4789 (mpw_special_init): New function, calls Macsbug if desired.
4791 * mpw.c: Add GPL notice.
4792 (mpwify_filename): Add more transformations.
4793 (mpw_fopen): Call mpwify_filename on file names.
4795 (chdir, getcwd): Add simple definitions.
4797 * mpw.c: Random cleanups, remove unused code bits.
4798 Added copy of strerror.c for gcc's use.
4799 (stat, fstat, _stat): New versions based on Guido van Rossum code.
4801 * mpw.c (mpw_fseek): Make it work correctly when doing SEEK_CUR.
4803 * mpw.c (stat): Remove hack definition, get from sys/stat.h.
4804 (fork, vfork, etc): Print error messages if called.
4805 (getrusage, sbrk, environ, isatty, link, utime, mkdir, rmdir,
4806 rename, chown): Define.
4808 * mpw-config.in: New file, MPW version of configure.in.
4809 * mpw-make.in: New file, MPW version of Makefile.in.
4810 * mpw.c: New file, MPW compatibility routines.
4814 * basename.c: Include config.h before checking for NEED_basename.
4818 * functions.def: Add DEFFUNC for basename.
4820 * basename.c: Only define basename if NEED_basename.
4824 * config.table: Fix --enable-shared logic for native builds.
4828 * cplus-dem.c (demangle_template): Demangle bool literals properly.
4832 * strtol.c strtoul.c: Replace these with less buggy versions from
4833 NetBSD. (strtoul in particular couldn't handle base 16.)
4837 * config/mt-vxworks5 (HDEFINES): Define NO_SYS_PARAM_H.
4839 * clock.c: If NO_SYS_PARAM_H is defined, don't include
4841 * getcwd.c, getpagesize.c, getruntime.c: Likewise.
4845 * getruntime.c (get_run_time): Don't assume that CLOCKS_PER_SEC is
4846 a number; ANSI appears to permit any expression, including a
4849 * config.table (*-*-vxworks5*): Use mt-vxworks5 when configuring
4851 * config/mt-vxworks5: New file.
4855 * basename.c (basename): Change argument to be const.
4859 * Makefile.in (lneeded-list): Don't worry about xmalloc.
4863 * Makefile.in (distclean): Delete xhost-mkfrag.
4867 * Makefile.in (lneeded-list): If alloca.o is needed, so is xmalloc.o.
4872 * Makefile.in (REQUIRED_OFILES, CFILES): List it.
4873 (hex.o): Add dependencies.
4875 * cplus-dem.c (demangle_prefix): For GNU style constructor and
4876 destructor names, try demangling the remainder of the string.
4880 * vasprintf.c (int_vasprintf): New static function.
4881 (vasprintf): Use int_vasprintf. Removes assumption that va_list
4882 is assignment compatible.
4886 * Makefile.in (LIBCFLAGS): New variable.
4887 (FLAGS_TO_PASS): Pass it.
4892 * getopt.c, getopt1.c: Do compile these functions under Linux,
4893 since many native versions are based on glibc but are buggy.
4897 * vasprintf.c: Make 'format' arg be const, to avoid a mismatch
4898 with prototype in GNU libc. Support stdarg.h as well as varargs.h.
4902 * Makefile.in (REQUIRED_OFILES): Add vasprintf.o.
4903 * functions.def: Remove vasprintf.
4907 * xmalloc.c (first_break): New static variable.
4908 (xmalloc_set_program_name): Record sbrk (0) in first_break.
4909 (xmalloc): If memory allocation fails, try to report how much
4910 memory was allocated by the program up to this point.
4911 (xrealloc): Likewise.
4915 * Makefile.in (ERRORS_CC): New variable, defaulted to $(CC). Use it
4917 * config.table: Add host RISCiX Makefile frag.
4918 * config/mh-riscix: New file.
4922 * Makefile.in (FLAGS_TO_PASS): Define.
4923 ($(RULE1)): Use $(FLAGS_TO_PASS).
4927 * vasprintf.c: Include <string.h>.
4928 (vasprintf): Add casts to void for va_arg to avoid gcc warnings.
4929 * xatexit.c: Declare malloc.
4933 * cplus-dem.c (demangle_args): Fix a bug in previous patch (the
4938 * cplus-dem.c (demangle args): Handle ARM repeat encoding where
4939 the type index is greater than 9.
4943 * cplus-dem.c (demangle_qualified): accept optional '_' between
4944 qualified name. This is baecause the template name may end with
4945 numeric and can mixed up with the length of next qualified name.
4949 * config/mt-sunos4: Use our standard location for cross-includes
4950 and cross-libs when the target is also a "host" environment (ie no
4951 newlib; includes and such don't belong to us). This is specific
4952 to the Cygnus Support environment.
4956 * cplus-dem.c (demangle_template): demangle as xxx<'Q'> not
4961 * cplus-dem.c (main): flush stdout to make pipe work.
4965 * config.table (*-*-cxux7*): Recognize.
4966 * floatformat.c (floatformat_m88110_ext) [HARRIS_FLOAT_FORMAT]:
4967 Harris-specific float format.
4968 * config/mh-cxux7: New file.
4972 * cplus-dem.c (demangle_template): Make sure that the result of
4973 consume_count doesn't index beyond the end of the string.
4977 * cplus-dem.c (gnu_special): Handle vtable mangling of gcc-2.4.5 and
4978 earlier. Improve test for new vtable mangling. Change output back
4983 * obstack.c: Always compile this code, even if using the GNU
4984 library. Avoids problems with relatively recent binary
4989 * cplus-dem.c: Include libiberty.h.
4990 (xmalloc, xrealloc, free): Don't declare.
4991 (strstr): Don't declare parameters.
4992 (xmalloc, xrealloc): Don't define.
4993 (long_options): Add no-strip-underscores.
4994 (main): Call xmalloc_set_program_name. Pass n in short options to
4995 getopt_long. Handle option 'n' to not strip underscores.
4996 (usage): Mention -n and --no-strip-underscores.
5000 * cplus-dem.c (demangle_template): Separate consecutive >'s with a
5002 (gnu_special): Demangle template and qualified names in a vtable name.
5006 From gas-2.3 and binutils-2.4 net releases:
5010 * makefile.dos: [new] Makefile for dos/go32
5011 * configure.bat: update for latest files
5012 * msdos.c: remove some functions now in libc.a
5016 * cplus-dem.c (gnu_special): Recognize thunks, as well as
5017 the new naming style for vtables (when -fvtable-thunks).
5021 * Makefile.in (XTRAFLAGS): Don't define.
5022 (.c.o, dummy.o): Don't use XTRAFLAGS.
5023 ($(RULE1)): Don't pass XTRAFLAGS down in recursive call.
5027 * vasprintf.c: New file.
5028 * Makefile.in, functions.def: Add it.
5032 * cplus-dem.c (demangle_fund_type): Grok bool.
5036 * config.table: Add go32
5037 * config/mh-go32: New template.
5041 * config.table, config/mt-sunos4: config for when sun4 is cross target.
5045 * getopt.c [not __GNU_LIBRARY__] [__GCC__] [not __STDC__]:
5046 Declare strlen to return int. Don't include stddef.h.
5050 * getopt.c: Delete use of IN_GCC to control whether
5051 stddef.h or gstddef.h is included.
5055 * cplus-dem.c (demangle_signature): Fix a bug in template function
5060 * cplus-dem.c (demangle_signature): Fix template function with arm
5061 style argument type number, Tn.
5065 * cplus-dem.c (optable): Add new[] and delete[].
5069 * argv.c (buildargv): Don't produce empty argument just because
5070 there is trailing whitespace.
5074 * cplus-dem.c (demangle_template): fix 'Q' qualified name bug.
5075 Handle 'p' same as 'P'.
5076 * cplus-dem.c (do_type): Handle 'p' same as 'P'.
5080 * floatformat.c (get_field, put_field): Fix off by one error in
5085 * floatformat.c (floatformat_from_double): Pass unsigned char *,
5086 not char *, to put_field.
5090 * memmove.c: Re-wrote; placed in public domain.
5094 * cplus-dem.c (demangle_prefix): If ARM demangling, don't treat
5095 __Q* as a constructor.
5099 * ieee-float.c: Removed; no longer used.
5100 * Makefile.in: Changed accordingly.
5104 * floatformat.c (get_field): Removed unused local variable i.
5105 (put_field): Removed unused local variable i.
5109 * floatformat.c: New file, intended to replace ieee-float.c.
5110 * Makefile.in: Change accordingly.
5114 * getopt.c: Remove #ifdef GETOPT_COMPAT and #if 0 code.
5115 (_getopt_initialize): New function, broken out of _getopt_internal.
5117 If long_only and the ARGV-element has the form "-f", where f is
5118 a valid short option, don't consider it an abbreviated form of
5119 a long option that starts with f. Otherwise there would be no
5120 way to give the -f short option.
5124 * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]:
5125 Test just __STDC__, not emacs.
5129 * getopt.c [not __GNU_LIBRARY__] [__GNUC__] [not IN_GCC]
5130 [emacs] [not __STDC__]: Don't include stddef.h. Don't declare strlen.
5134 * getopt.c (_NO_PROTO): Define before config.h is included.
5138 * getopt.c, getopt1.c [emacs || CONFIG_BROKETS]: Include
5139 <config.h> only under these, else "config.h".
5143 * getopt.c, getopt1.c [HAVE_CONFIG_H]: Include
5144 <config.h> instead of "config.h".
5148 * concat.c: Check ANSI_PROTOTYPES rather than __STDC__ to decide
5149 whether to use prototypes or not.
5150 * strerror.c (const): Never undefine; let ansidecl.h handle it.
5151 * strsignal.c (const): Likewise.
5155 * xatexit.c (_xexit_cleanup): Declare as extern; don't initialize.
5156 Merging common and initialized variables need not be supported by
5158 (xatexit): Initialize _xexit_cleanup if not already set.
5159 * xexit.c: Comment fix.
5163 * xmalloc.c: Don't declare xexit; it's declared in libiberty.h.
5164 (xrealloc): If oldmem is NULL, allocate with malloc, rather than
5165 assuming that realloc works correctly.
5169 * concat.c, ieee-float.c: Replace inclusion of <string.h>
5170 with explicit function declarations, as recommended by Ian Taylor.
5174 * xmalloc.c (xmalloc, xrealloc): Use PTR and size_t throughout.
5175 (malloc, realloc): Declare.
5179 * argv.c, basename.c: Include ansidecl.h and libiberty.h.
5180 * concat.c, fdmatch.c, getruntime.c, spaces.c: Likewise.
5181 * strerror.c, strsignal.c, xatexit.c, xexit.c: Likewise.
5182 * xmalloc.c: Likewise.
5183 * concat.c: Don't declare xmalloc. If __STDC__, use <stdarg.h>
5184 macros, not <varargs.h> macros.
5185 * spaces.c (spaces): Make return type const. Don't crash if
5186 malloc returns NULL.
5187 * strerror.c (struct error_info): Make name and msg fields const.
5188 (error_names): Make const.
5189 (strerrno): Make const.
5190 (strtoerrno): Make argument const.
5191 * strsignal.c (struct signal_info): Make name and msg fields
5193 (signal_names, sys_siglist): Make const.
5194 (strsignal, strsigno): Make const.
5195 (strtosigno): Make argument const.
5196 * xatexit.c: Declare parameter types.
5197 * xmalloc.c (name): Make const.
5198 (xmalloc_set_program_name): Make argument const.
5199 * Makefile.in (INCDIR): Define.
5200 (.c.o): Use $(INCDIR).
5201 (dummy.o): Likewise.
5202 (argv.o, basename.o): New targets; depend on libiberty.h.
5203 (concat.o, fdmatch.o, getruntime.o, spaces.o): Likewise.
5204 (strerror.o, strsignal.o, xatexit.o, xexit.o): Likewise.
5205 (xmalloc.o): Likewise.
5206 (cplus-dem.o): New target; depend on demangle.h.
5207 (getopt.o, getopt1.o): New targets; depend on getopt.h.
5208 (ieee-float.o): New target; depend on ieee-float.h.
5209 (obstack.o): New target; depend on obstack.h.
5213 Handle obstack_chunk_alloc returning NULL. This allows
5214 obstacks to be used by libraries, without forcing them
5215 to call exit or longjmp.
5216 * obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
5217 If CALL_CHUNKFUN returns NULL, set alloc_failed, else clear it.
5218 (_obstack_begin, _obstack_begin_1): Return 1 if successful, 0 if not.
5222 * concat.c, ieee-float.c: Include <string.h>.
5226 * xmalloc.c (xmalloc_set_program_name): New function.
5227 (xmalloc, xrealloc): Include the name in the error message, if set.
5229 * Replace atexit.c with xatexit.c.
5230 * Makefile.in (CFILES), functions.def: Change references.
5234 * getruntime.c (get_run_time): Use getrusage or times if
5235 HAVE_GETRUSAGE or HAVE_TIMES are defined.
5239 * atexit.c: New file.
5240 * Makefile.in (CFILES), functions.def: Add it.
5241 * xexit.c: New file.
5242 * Makefile.in (CFILES, REQUIRED_OFILES): Add it.
5243 * xmalloc.c (xmalloc, xrealloc): Call xexit instead of exit.
5244 Change request for 0 bytes into request for 1 byte.
5248 * xmalloc.c (xmalloc, xrealloc): Print size using %lu, and cast to
5249 unsigned long, to avoid warnings.
5253 * dummy.c: Don't include time.h ever; always define clock_t as
5254 "unsigned long". Until gcc/fixincludes ensures that clock_t
5255 exists, __STDC__ isn't a sufficient test. And if clock() doesn't
5256 exist, clock_t probably doesn't either.
5260 * clock.c, getruntime.c: New files.
5261 * Makefile.in: Add to file lists.
5262 * functions.def (clock): Add to list.
5263 * dummy.c (time.h): Add if __STDC__.
5264 (clock_t): #define as "unsigned long" if not __STDC__.
5273 * Makefile.in (errors): Use CFLAGS as well as LDFLAGS when
5278 * cplus-dem.c (demangle_arm_pt): New function. Common code
5279 for ARM template demangling.
5280 * cplus-dem.c (demangle_class_name): Use demangle_arm_pt.
5281 * cplus-dem.c (demangle_prefix): Likewise.
5285 * cplus-dem.c (cplus_demangle_opname): Add CONST to please gcc.
5290 * strerror.c, strsignal.c: As a small space optimization, don't
5291 include messages when they aren't actually used.
5293 Merge changes from takefive.co.at!joe (Josef Leherbauer)
5294 * cplus-dem.c (demangle_prefix, demangle_function_name,
5295 cplus_demangle_opname): Fixes for systems where cplus_marker
5296 is something other than '$'.
5300 * waitpid.c: Simple-minded approcimation to waitpid
5302 * functions.def, Makefile.in: Update accordingly,
5306 * cplus-dem.c(demangle_template): fix bug template instantiation
5307 with value of user defined type.
5311 * cplus-dem.c(cplus_demangle_opname): add the subject new function
5312 to support unified search of operator in class.
5317 * strtoul.c (strtoul): use "(digit = *s) != '\0'" not just
5318 "digit = *s" as condition in while loop.
5322 * Makefile.in: pass SHELL to recursive make
5326 * vfprintf.c, vprintf.c, vsprintf.c: Make format arg
5327 be (const char*), for ANSI (and gcc w/fixproto) consistency.
5331 * config.table: Make *-*-hiux* use mh-hpux.
5335 * config.table: Add * to end of all OS names.
5339 * Makefile.in (lneeded-list): ensure that object file names are
5340 not duplicated, as multiple instances of the same object file in
5341 a library causes problems on some machines
5345 * strcasecmp.c, strncasecmp.c: Change u_char to unsigned char.
5349 * strncasecmp.c: new file, implements strncasecmp
5350 * strcasecmp.c: new file, implement strcasecmp
5352 * Makefile.in (CFILES): list these two new source files
5354 * functions.def: add strcasecmp and strncasecmp entries
5358 * strtoul.c (strtoul), strtol.c (strtol): Handle overflow
5359 according to ANSI C.
5363 * cplus-dem.c: add support of ARM global constructor/destructor,
5364 and 'G' for passing record or union in parameter.
5368 * Makefile.in: Fix comment to clarify that stuff in REQUIRED_OFILES
5369 should not be in functions.def.
5373 * functions.def: Removed xmalloc. Stuff in REQUIRED_OFILES should
5374 not be in functions.def.
5378 * cplus-dem.c: change globl constructor/destructor to proper name
5382 * cplus-dem.c: fix bug in constructor/destructor
5386 * cplus-dem.c: support both old and new _vt$... vtbl mangled names
5390 * cplus-dem.c: Fix demangle_template prototype
5394 * cplus-dem.c: fix template demangling
5395 * cplus-dem.c: fix const type demangling
5396 * cplus-dem.c: fix constructor/destructor, virtual table,
5397 qualifier, global constructor/destructor demangling
5401 * strsignal.c, strerror.c: Use fully-bracketed initializer to
5402 keep gcc -Wall happy.
5406 * cplus-dem.c (do_type): Add CONSTS to make gcc happy with last
5411 Patch from Paul Flinders:
5412 * cplus-dem.c (do_type): Deal with arrays.
5416 * cplus-dem.c (demangle_qualified: Deal with GNU format for more
5421 * Makefile.in (dummy.o): Redirect to /dev/null to avoid "variable
5422 not initialized" warnings under HP/UX
5426 * strerror.c: Move include of stdio.h after sys_errlist #define.
5427 Also remove NULL definition (stdio.h always defines NULL, so it
5428 never did anything but clutter up the code).
5432 * Makefile.in, functions.def: handle xmalloc.c
5434 * xmalloc.c: provide xmalloc and xrealloc functions
5438 * cplus-dem.c: Fix a comment.
5442 * getopt1.c: Declare const the way getopt.c does.
5446 * obstack.c, alloca.c: Update from FSF.
5447 * getopt.c, getopt1.c: Update to current FSF version, which
5452 * Makefile.in (demangle): Add the target with a message saying
5453 where demangle went.
5457 * Makefile.in: Remove obsolete `demangle' target.
5462 avoid infinite loop on vtbl symbols with disambiguating "junk"
5467 * strsignal.c: work around some systems losing definitions of
5470 * config/mh-lynxos: this system has a losing definition of
5473 * config.table: use mh-lynxos for *-*-lynxos
5477 * config.table: Add support for HPPA BSD hosts.
5479 * config/mh-hpbsd: New file.
5483 * Makefile.in (TAGS): make work when srcdir != objdir.
5487 * cplus-dem.c (main): Add long options, including --help and
5489 (usage): New function from code in main.
5493 * config.table: New shell scipt, sourced by both ./configure,in
5494 and ../xiberty/configure.in, to avoid maintainance lossages.
5495 * configure.in and ../xiberty/configure.in: Use config.table.
5497 * configure.in: Don't use mh-aix for AIX 3.2, only for 3.1.
5498 * configure.in: Map *-*-irix* (except irix4) to mh-sysv.
5499 * ../xiberty/configure.in: Update from ./configure.in.
5501 Tue Jun 15 17:05:31 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5503 * Makefile.in: remove parentdir support
5507 * cplus-dem.c (xrealloc): Match definition with prototype.
5511 * cplus-dem.c (demangle_prefix): Demangle cfront
5512 local variables as an extension to ARM demangling.
5516 * ieee-float.c: Don't require pointers to double to be aligned.
5521 * cplus-dem.c (consume_count): Simplify.
5522 * cplus-dem.c (arm_pt, demangle_class_name): New functions.
5523 * cplus-dem.c (various): Calls to arm_pt, demangle_class_name.
5525 * cplus-dem.c (xmalloc, xrealloc, strstr): Make extern decls into
5527 * cplus-dem.c (free): Add prototype.
5528 * cplus-dem.c (optable): Fully bracketize initializer.
5532 * cplus-dem.c: Whether initial underscores are stripped
5533 depends on the external variable prepends_underscore
5534 (which is generated by the binutils Makefile).
5538 * cplus-dem.c (mop_up, arm_special): Remove some unused variables.
5542 * cplus-dem.c (consume_count): Return zero if arg does not
5543 start with digit, and don't consume any input.
5547 * Makefile.in (demangle): Use ${srcdir} not $^.
5549 * strtod.c: New file, needed at least for BSD 4.3.
5553 * strsignal.c (sys_siglist): For ANSI compilations, type is
5554 "const char *const". Also remove conditionalization on __STDC__
5555 since const is defined away for non-ANSI.
5559 * configure.in: Recognize *-*-hpux.
5560 * config/mh-hpux: New file.
5564 * tmpnam.c: Added ANSI tmpnam() function.
5565 * functions.def, Makefile.in: Update accordingly.
5569 * cplus-dem.c (demangle_function_name): Get the demangling of
5572 Fri Apr 16 23:48:24 1993 Jim Kingdon (kingdon at calvin)
5574 * cplus-dem.c: Declare strstr return type.
5578 * strsignal.c: Add some AIX signals.
5582 * Makefile.in (MAKEOVERRIDES): Define to be empty.
5584 Wed Mar 24 01:59:25 1993 david d `zoo' zuhn (zoo at poseidon.cygnus.com)
5586 * Makefile.in: add installcheck & dvi targets
5590 * ieee-float.c: New file, moved from ../gdb (since it is
5591 needed by ../opcode/m68k-dis.c).
5595 * cplus-dem.c: Replace all references to cfront with ARM.
5599 * cplus-dem.c: Fix main program (when compiled with -DMAIN)
5600 to be more useful as a filter.
5604 * Makefile.in (install_to_libdir, install_to_tooldir): Go into the
5605 destination directory before running $(RANLIB), in case that
5606 program tries to create a file in the current directory as part of
5611 * strsignal.c (sys_siglist): Remove yet another *%^&%&$# "const"
5612 because BSD 4.4 lacks one. Isn't this fun?
5616 * cplus-dem.c (demangle_signature): Set func_done after
5617 demangling a template.
5618 * cplus-dem.c (demangle_template): Fix several small bugs
5619 in demangling GNU style templates.
5620 * cplus-dem.c (demangle_prefix): Fix for templates in GNU
5622 * cplus-dem.c (gnu_special): Fix for templates in GNU style
5623 static data members.
5627 * cplus-dem.c (demangle_signature): Modify to include type
5628 modifiers like static and const in remembered types.
5632 * cplus-dem.c (demangled_qualified): Add new parameter that tells
5633 whether to prepend or append the qualifiers.
5634 * cplus-dem.c (string_prepends): Used now, remove #if 0.
5635 * cplus-dem.c (demangle_signature): Call demangle_qualified
5637 * cplus-dem.c (gnu_special): Recognize static data members that
5638 use qualified names.
5639 * cplus-dem.c (demangle_qualified): Accumulate qualifiers in a
5640 temporary buffer and the prepend or append them to the result,
5641 as specified by the new "append" flag.
5642 * cplus-dem.c (do_type): Call demangled_qualified with
5647 * strsignal.c (signal_table): Now const.
5648 (init_signal_tables): Variable eip now points to const.
5650 * strerror.c (error_table): Now const.
5651 (init_error_tables): Variable eip now points to const.
5655 * memchr.c (memchr): New (ANSI standard) function.
5656 * Makefile.in, functions.def: Added memchr.
5657 * Makefile.in (AR_FLAGS): Use rc instad of non-standard cq.
5659 Wed Dec 2 22:49:10 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5661 * getopt.c: remove use of USG around <alloca.h>, which never meant
5664 * config/mh-{aix,apollo68,ncr3000,sysv,sysv4}: removed definitions
5669 * cplus-dem.c (demangle_fund_type): Recognize `w', a wide character;
5670 it's now a type according to the ANSI X3J16 working paper; output
5672 (demangle_template): Accept `w' as an integral type.
5673 (xmalloc, xrealloc): Use `char *', not `PTR'. Cast calls to their
5674 counterparts malloc and realloc to `char *'.
5675 (main): Exit with a 0 status.
5676 * Makefile.in (demangle): Don't expect the user to define
5677 DEMANGLE, instead force to be cplus-dem.c. Look in $(srcdir)/../include
5678 for demangle.h. Pass it any HDEFINES or XTRAFLAGS.
5682 * Makefile.in (AR_FLAGS): Avoid verbosity.
5683 * config/mh-sysv4: Remove AR_FLAGS override, use INSTALL=cp,
5684 replace USGr4 with HAVE_SYSCONF.
5685 * config/mh-solaris: Remove; mh-sysv4 works now.
5686 * getpagesize.c: Replace USGr4 with HAVE_SYSCONF.
5687 * configure.in: Simplify host matching table, remove separate
5688 solaris config file.
5692 * configure.in (i[34]86-*-solaris2*): Add, use mh-sysv4.
5696 * cplus-dem.c (xmalloc, xrealloc): Add decls.
5697 (remember_type): Don't cast xmalloc.
5698 (string_need): Likewise; don't cast xrealloc either.
5702 * Makefile.in, functions.defs, rename.c: added simple
5703 implementation of rename, since some binutils programs use it.
5707 * strsignal.c: Add appropriate 'const' to sys_siglist
5708 extern declaration (if __STDC__). (Needed for Linux.)
5709 * strsignal.c (strsignal): Add cast to remove const-ness.
5713 * Makefile.in (needed.awk, needed2.awk): Remove erroneous \'s
5714 before "'s, diagnosed by BSD 4.4 awk.
5718 * Makefile.in: create config.h and needed-list through $(CONFIG_H)
5719 and $(NEEDED_LIST), to give some hooks for xiberty.
5721 Thu Oct 1 23:31:42 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5723 * configure.in: use cpu-vendor-triple instead of nested cases
5727 * Makefile.in, argv.c, basename.c, bcmp.c, bcopy.c, bzero.c,
5728 concat.c, cplus-dem.c, fdmatch.c, getcwd.c, getopt.c, getopt1.c,
5729 getpagesize.c, insque.c, memcmp.c, memcpy.c, memmove.c, memset.c,
5730 obstack.c, sigsetmask.c, spaces.c, strchr.c, strerror.c,
5731 strrchr.c, strsignal.c, strstr.c, vfork.c, vsprintf.c:
5732 Convert from using GPL to LGPL.
5736 * Makefile.in (errors): Leave dummy.o and dummy around so that
5737 we can see how the needed list was generated (it's sometimes wrong).
5738 (mostlyclean): Remove them.
5742 * getcwd.c: supply a default if MAXPATHLEN is not defined.
5744 * config/mh-irix4: set EXTRA_OFILES to alloca.o, from WRS.
5748 * Makefile.in: Use XTRAFLAGS when compiling, so that xiberty works
5749 when cross-compiling.
5753 * cplus-dem.c: (demangle_prefix): reduction in strength of strstr
5754 as a time optimization.
5756 * cplus-dem.c (cplus_demangle): remove strpbrk test. Appears to
5757 be more expensive than simply demangling.
5759 * cplus-dem.c (cplus_match): new function.
5763 * cplus-dem.c: #include <stdio.h>, to define NULL.
5764 Define current_demangling_style.
5768 * cplus-dem.c: New file, moved from ../gdb.
5769 * cplus-dem.c (set_cplus_marker_for_demangling): New exported
5770 function, to avoid compiling in target-dependency for CPLUS_MARKER.
5771 * cplus-dem.c (cplus_demangle): Allow demangling style option
5772 to be passed as a parameter, but using the global variable
5773 current_demangling_style as a default.
5774 * Makefile.in: Update for cplus-dem.c
5778 * obstack.c: Merge in comment changes from FSF version. Now
5779 matches the FSF version exactly.
5783 * obstack.c (CALL_FREEFUN): Can't use ?: with void values (at
5784 least on losing DECstations!); use if-then-else instead.
5788 * Makefile.in: always create installation directories.
5790 Mon Aug 10 17:33:40 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com)
5792 * Makefile.in: clean up definition of CFILES, more comments
5796 * getopt.c (my_index): Make first arg const to match strchr,
5797 which it sometimes is remapped to.
5801 * obstack.c (DEFAULT_ALIGNMENT): Update to match FSF version.
5802 * obstack.c (_obstack_begin): Initialize use_extra_arg.
5803 * obstack.c (_obstack_begin_1): New, from FSF version.
5807 * obstack.c (CALL_CHECKFUN, CALL_FREEFUN): Use use_extra_arg and
5809 * obstack.c (_obstack_begin): Remove area_id and flags arguments
5810 (previously added for mmalloc support, interface has changed).
5811 Also convert flags usage to use use_extra_arg and maybe_empty_object.
5815 * argv.c: Move expandargv inline and eliminate static variables.
5816 Rewrite to always allocate in powers of two. Fix to return an
5817 argv with a single null string arg if passed a null string.
5821 * random.c, sigsetmask.c, strerror.c, strsignal.c: Remove
5822 "(void)" casts from function calls where the return value is
5823 ignored, in accordance with GNU coding standards.
5825 Mon Jun 29 10:54:19 1992 Fred Fish (fnf at cygnus.com)
5827 * bcopy.c, strerror.c, strsignal.c: Lint.
5831 * getopt.c: merge changes from make.
5833 Thu Jun 25 04:43:22 1992 John Gilmore (gnu at cygnus.com)
5835 * alloca.c: Incorporate fixes from gdb/alloca.c.
5836 FIXME: Eventually move gdb's alloca configuration files here,
5837 and remove gdb/alloca.c and its Makefile.in support.
5841 * dummy.c: Define NOTHING to /*nothing*/, change return type
5842 of main to int and return zero.
5843 * functions.def: Supply NOTHING as the fourth arg to macros
5844 that don't have an explicit arg, to satisfy picky preprocessors.
5848 * Makefile.in: Clean up *clean rules, as per standards.texi.
5852 * getopt.c, getopt1.c: merged largely gratuitous, mostly
5853 whitespace diffs from other prep distributions.
5857 * config/mh-ncr3000 (INSTALL): Don't use /usr/ucb/install,
5858 it is broken on ncr 3000's.
5860 Mon Jun 15 01:03:26 1992 John Gilmore (gnu at cygnus.com)
5862 * sigsetmask.c: Rewrite. Old one was very confused about its
5863 arguments and result. New one can't do much, but at least knows
5864 what it can't do, and it's good enough for GDB's use.
5866 Sun Jun 14 15:17:40 1992 Stu Grossman (grossman at cygnus.com)
5868 * functions.def: Use proper prototype for strtoul.
5870 Fri Jun 12 19:22:40 1992 John Gilmore (gnu at cygnus.com)
5872 * Makefile.in: Add random.c.
5873 * config/mh-*: Use "true" rather than "echo >/dev/null" for ranlib.
5874 * configure.in: update solaris2 config.
5878 * random.c: Add for random() and srandom().
5879 * functions.def: Add random
5883 * config/{mh-ncr3000, mh-sysv4}: Add definition for INSTALL
5884 using /usr/ucb/install.
5888 * strerror.c: Kludge to guard against a conflict with
5889 possible declaration of sys_errlist in errno.h.
5891 Sun May 31 15:07:47 1992 Mark Eichin (eichin at cygnus.com)
5893 * configure.in, config/mh-solaris: add solaris2 config support.
5897 * sigsetmask.c: #ifdef out sigsetmask if SIG_SETMASK
5898 is not defined (should be defined in signal.h, says Posix.).
5902 * getopt.c: merged changes from make-3.62.11.
5906 * getopt.c: merged changes from bison-1.18.
5910 * Makefile.in: Don't have $(EXTRA_OFILES) depend on config.h,
5911 since that introduces a circular dependency.
5912 ($(EXTRA_OFILES) are used to build config.h.)
5914 * strtoul.c: Fixes to handle non-decimal bases better.
5918 * config/mh-ncr3000: Replace MINUS_G with CFLAGS.
5919 * Makefile.dos: Finish MINUS_G eradication.
5920 * Makefile.in (CFILES): Add strsignal.c.
5921 * Makefile.in (REQUIRED_OFILES): Add strerror.o strsignal.o
5922 * Makefile.in (needed-list): Split creation of errors file to
5923 separate make target.
5924 * Makefile.in (config.h, needed2.awk, errors): New targets.
5925 * Makefile.in (clean): Split to multiple lines, add needed2.awk
5927 * dummy.c (DEFFUNC, DEFVAR): Add defines and undefs.
5928 * functions.def (strerror): Remove from optional list.
5929 * functions.def (sys_nerr, sys_errlist, sys_siglist): DEFVAR's
5930 * functions.def (strerror, psignal): DEFFUNC's
5931 * strerror.c: Rewrite from scratch to use sys_errlist only if
5932 available, add errno_max(), add strerrno(), add strtoerrno(),
5934 * strsignal.c: New file, signal equivalent to strerror.c.
5935 Uses sys_siglist if available, defines signo_max(), strsignal(),
5936 strsigno(), strtosigno(), psignal(), and test driver.
5940 * Makefile.in: do not print recursion line.
5942 * Makefile.in: allow CFLAGS to be passed in from command line.
5943 Removed MINUS_G. Default CFLAGS to -g.
5947 * config/mh-aix: New. EXTRA_OFILES lists copysign.o,
5948 so libg++ users don't have to be inconvenienced by a
5949 libc.a bug (libc.a needs copysign, but doesn't define it!).
5950 * configure.in: Use config/mh-aix.
5951 * strtoul.c: Handle '-' as required by ANSI.
5952 Clean up radix handling.
5953 * strstr.c: Fix buggy algorithm.
5954 * Makefile.in: Change so that ${EXTRA_OFILES} is
5955 appended to needed-list (which is used by libg++).
5959 * configure.in: Recognize new ncr3000 config.
5960 * config/mh-ncr3000: New config file.
5962 Wed Apr 1 23:31:43 1992 John Gilmore (gnu at cygnus.com)
5964 * argv.c, dummy.c: Lint.
5968 * config/mh-sysv4: New config file.
5969 * configure.in (host_makefile_frag): Set to config/mh-sysv4 for
5971 * getpagesize.c: For SVR4, use sysconf(_SC_PAGESIZE) to get
5974 Sun Mar 29 12:26:42 1992 John Gilmore (gnu at cygnus.com)
5980 * functions.def (alloca): Fix return type and args to avoid
5981 type clash with gcc's builtin alloca.
5985 * configure.in, config/mh-irix4: irix4 support.
5987 * Makefile.in, functions.def, alloca.c: added alloca.
5989 Tue Mar 24 17:34:46 1992 Stu Grossman (grossman at cygnus.com)
5991 * obstack.c (CALL_FREEFUN): Make it compile on DECstations.
5995 * argv.c: Fix various external function definitions to be
5996 correct in an ANSI compilation environment.
6000 * obstack.c: Changes to support calling mmalloc functions,
6001 which take an additional argument over malloc functions.
6005 * added check target.
6009 * argv.c: #include alloca-conf.h (needed by AIX).
6013 * Makefile.in, configure.in: removed traces of namesubdir,
6014 -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
6015 copyrights to '92, changed some from Cygnus to FSF.
6017 Sat Feb 22 01:09:21 1992 Stu Grossman (grossman at cygnus.com)
6019 * argv.c: Check in Fred's version which fixes problems with
6022 Fri Feb 7 21:46:08 1992 Stu Grossman (grossman at cygnus.com)
6024 * makefile.dos: Remove NUL to keep patch from failing.
6026 Thu Jan 30 22:48:41 1992 Stu Grossman (grossman at cygnus.com)
6028 * getopt.c (_getopt_internal): Fix usage of enum has_arg.
6030 Mon Jan 20 18:53:23 1992 Stu Grossman (grossman at cygnus.com)
6032 * getopt.c, getopt1.c, ../include/getopt.h: Get latest versions.
6034 Sat Jan 18 16:53:01 1992 Fred Fish (fnf at cygnus.com)
6036 * argv.c: New file to build and destroy standard argument
6037 vectors from a command string.
6039 * Makefile.in: Add argv.c and argv.o to appropriate macros.
6041 Fri Dec 20 12:12:57 1991 Fred Fish (fnf at cygnus.com)
6043 * configure.in: Change svr4 references to sysv4.
6045 * rindex.c: Declare return type of externally used function
6048 Thu Dec 19 18:35:03 1991 John Gilmore (gnu at cygnus.com)
6050 * Makefile.in: Remove "***" in normal output, since Make produces
6051 this on errors, and it's convenient to search for.
6053 Tue Dec 17 23:21:30 1991 Per Bothner (bothner at cygnus.com)
6055 * memcmp.c, memcpy.c, memmove.c, memset.c, strchr.c, strrchr.c:
6056 New ANSI functions. The old non-ANSI functions (such as bcopy)
6058 * bcopy.c: Fix to correctly handle overlapping regions.
6059 * index.c, rindex.c: Re-write in terms of strchr() and strrchr().
6060 * functions.def: Add the new functions.
6061 * functions.def: Add 4th parameter to DEF macro,
6062 an ansidecl.h-style prototype.
6063 * dummy.c: Use expanded DEF macro to create a dummy function
6064 call, with correct parameter types. (This avoids some
6065 complaints from gcc about predefined builtins.)
6067 Move the functionality of config/mh-default into Makefile.in.
6068 This avoid duplication, and simplifies things slightly.
6069 * Makefile.in: Tweak so we don't need config/mh-default.
6071 * configure.in: No longer need config/mh-default.
6072 * config/mh-default: Deleted.
6073 * config/mh-sysv: Remove lines copied from old mh-default.
6075 Tue Dec 17 05:46:46 1991 John Gilmore (gnu at cygnus.com)
6077 * fdmatch.c (fdmatch): Don't compare st_rdev, which is for
6078 'mknod' device numbers.
6080 Mon Dec 16 12:25:34 1991 Fred Fish (fnf at cygnus.com)
6082 * fdmatch.c, Makefile.in: Add new function that takes two
6083 open file descriptors and returns nonzero if they refer to
6084 the same file, zero otherwise. (used in gdb)
6086 Wed Dec 11 17:40:39 1991 Steve Chamberlain (sac at rtl.cygnus.com)
6088 * msdos.c: stub functions for dos.
6089 * makefile.dos, configdj.bat: new.
6090 * getopt.c: Don't include alloca-conf.h in a GO32 world.
6093 Tue Dec 10 04:14:49 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6095 * Makefile.in: infodir belongs in datadir.
6097 Fri Dec 6 23:26:45 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6099 * Makefile.in: remove spaces following hyphens because bsd make
6100 can't cope. added standards.text support. install using
6103 * configure.in: remove commontargets as it is no longer a
6106 Thu Dec 5 22:46:46 1991 K. Richard Pixley (rich at rtl.cygnus.com)
6108 * Makefile.in: idestdir and ddestdir go away. Added copyrights
6109 and shift gpl to v2. Added ChangeLog if it didn't exist. docdir
6110 and mandir now keyed off datadir by default.
6112 Fri Nov 22 19:15:29 1991 John Gilmore (gnu at cygnus.com)
6114 * Makefile.in: find-needed.awk does not fit in 14 chars.
6116 * Makefile.in: Suppress error checking when compiling the test
6117 program, because Ultrix make/sh aborts there due to a bug.
6119 Fri Nov 22 12:23:17 1991 Per Bothner (bothner at cygnus.com)
6121 * Makefile.in: Re-did how EXTRA_OFILES is used to be more useful.
6122 * README: Explained how the auto-configuration works,
6123 and how to add new files and/or configurations.
6125 Fri Nov 22 09:45:23 1991 John Gilmore (gnu at cygnus.com)
6127 * strtoul.c: Avoid defining ULONG_MAX if already defined;
6128 cast a const char * to char * for pedants.
6130 * getopt.c: Only define "const" after local include files get to,
6131 and only if they haven't defined it.
6133 Thu Nov 21 16:58:53 1991 John Gilmore (gnu at cygnus.com)
6135 * getcwd.c (remove getwd.c): GNU code should call getcwd(). We
6136 emulate it with getwd() if available. This avoids callers having
6137 to find a MAXPATHLEN or PATH_MAX value from somewhere.
6138 * Makefile.in, functions.def: getwd->getcwd.
6139 * configure.in: Use generic case for every system.
6140 * config/mh-{delta88,mach,rs6000,svr4}: Remove.
6141 * config/mh-sysv: Use default handling, just add -DUSG.
6143 Thu Nov 14 10:58:05 1991 Per Bothner (bothner at cygnus.com)
6145 * Makefile.in, config/mh-default: Re-do make magic
6146 so that for the default ("automatic") mode we only
6147 compile the files we actually need. Do this using
6148 a recursive make: The top-level generates the list
6149 of needed files (loosely, the ones missing in libc),
6150 and then passes that list to the recursive make.
6151 * config/mh-mach: Remove obsolete STRERROR-{C,O} macros.
6153 Tue Nov 12 19:10:57 1991 John Gilmore (gnu at cygnus.com)
6155 RS/6000 host support (grumble).
6157 * configure.in: Build alloca-conf.h file from alloca-norm.h
6158 (everything else) or alloca-botch.h (rs/6000).
6159 * Makefile.in: Include . on the include path.
6160 * getopt.c: Use alloca-conf.h.
6161 * alloca-norm.h: How to declare alloca on reasonable machines.
6162 * alloca-botch.h: How to declare alloca on braindead machines.
6164 Tue Nov 12 09:21:48 1991 Fred Fish (fnf at cygnus.com)
6166 * concat.c : New file, like concat() in gdb but can take a
6167 variable number of arguments rather than fixed at 3 args. For
6168 now, client applications must supply an xmalloc(), which is a
6169 front end function to malloc() that deals with out-of-memory
6172 * Makefile.in: Add concat.c and concat.o to appropriate macros.
6174 Sat Nov 9 13:29:59 1991 Fred Fish (fnf at cygnus.com)
6176 * config/mh-svr4: Add sigsetmask to list of required functions.
6178 Sun Nov 3 11:57:56 1991 Per Bothner (bothner at cygnus.com)
6180 * vsprintf.c: New file.
6181 * functions.def, Makefile.in: Add vsprintf.
6183 Sun Oct 27 16:31:22 1991 John Gilmore (gnu at cygnus.com)
6185 * configure.in, config/mh-rs6000: Add rs/6000 host support.
6186 * Makefile.in: Compile with debug info.
6188 Fri Oct 25 17:01:12 1991 Per Bothner (bothner at cygnus.com)
6190 * Makefile.in, configure.in, and new files: dummy.c, functions.def,
6191 config/mf-default: Added a default configuration mode,
6192 which includes into libiberty.a functions that are "missing" in libc.
6193 * strdup.c, vprintf.c, vfprintf.c: New files.
6195 Thu Oct 24 02:29:26 1991 Fred Fish (fnf at cygnus.com)
6197 * config/hmake-svr4: New file.
6199 * config/hmake-sysv: Add HOST_CFILES and HOST_OFILES.
6201 * basename.c, bcmp.c, bcopy.c, bzero.c, getpagesize.c getwd.c,
6202 index.c, insque.c, rindex.c, spaces.c, strstr.c, vfork.c: New
6203 files containing either portable C versions or emulations using
6204 native library calls.
6206 * strerror.c: Add copyright, internal documentation, etc.
6208 * strtol.c: Replace hardwired hex constants with some more
6209 portable macros. Remove illegal (according to gcc) cast.
6211 * strtoul.c: Replace hardwired hex constant with more portable
6214 * Makefile.in: Move TARGETLIB and CFLAGS where makefile fragments
6215 can override them. Add new source and object file names to CFILES
6216 and OFILES respectively.
6218 * configure.in: Add support for SVR4 makefile fragments.
6220 Tue Oct 22 19:00:23 1991 Steve Chamberlain (steve at cygnus.com)
6222 * Makefile.in: Move RANLIB, AR and AR_FLAGS to where they can be
6223 over-ridden by config/hmake-*
6224 * configure.in: added m88kcvs to sysv list
6226 Fri Oct 4 01:29:08 1991 John Gilmore (gnu at cygnus.com)
6228 * Makefile.in: Most hosts need strerror, but one or two don't,
6229 and they override these definitions in the host-dependent makefile
6231 * config/hmake-mach: The odd man out on strerror -- it's supplied.
6232 * strerror.c: New file.
6234 * strtol.c, strtoul.c: Add strtol to libiberty, since Mach lacks
6236 * configure.in, Makefile.in, config/hmake-mach: Only configure
6237 strtol & strotoul in on Mach.
6239 Tue Sep 3 06:36:23 1991 John Gilmore (gnu at cygint.cygnus.com)
6241 * obstack.c: Merge with latest FSF version.
6245 version-control: never