Commit graph

29 commits

Author SHA1 Message Date
Tom Tromey
ac6dd50fbf * contrib/ari/update-web-ari.sh: Update for version.in change. 2013-07-02 17:58:54 +00:00
Tom Tromey
af83e3f886 add the cleanup checker
This patch adds the cleanup checker.  This is a Python plugin for GCC
that checks some rules for cleanup handling.  In particular it tries
to notice when cleanups are left dangling at the end of a function.

It does this by applying a few simple rules.

First, it understands that a function whose return type is "struct
cleanup *" is a "cleanup constructor".  Such functions are expected to
return the first cleanup that they make.

Then, it has the notion of a "master cleanup".  The checker keeps a
stack of all cleanups made in a basic block.  The first element is
pushed on the stack is the master cleanup -- the one that must later
be passed to either do_cleanups or discard_cleanups.

It is not perfect -- some constructs confuse it.  So, part of this
series rewrites some code in gdb so that it is analyzable.  I'll note
these spots and you can decide whether or not this is a good idea.

This patch also changes gcc-with-excheck to give it options.  Now you
must use either -Xc (for the cleanup checker) or -Xx (for the
exception checker).

	* contrib/cleanup_check.py: New file.
	* contrib/gcc-with-excheck: Add option parsing.
2013-05-30 16:22:06 +00:00
Doug Evans
20d7f21139 * contrib/cc-with-tweaks.sh (-p): Handle no dwo files. 2013-05-24 00:30:24 +00:00
Pierre Muller
27fd0c6b3f * contrib/ari/gdb_ari.sh (SOLIB_ADD, SOLIB_CREATE_INFERIOR_HOOK)
(PC_SOLIB): Change type from ari_deprecate to ari_regression.
2013-05-07 13:00:07 +00:00
Pierre Muller
47d21dc520 * ./contrib/ari/gdb_ari.sh (editCase rule): Fix spelling error. 2013-04-29 08:32:18 +00:00
Pierre Muller
4d40cad203 * contrib/ari/gdb_ari.sh (write_pc rule): Do not consider
set_gdbarch_write_pc as deprecated anymore.
2013-04-15 14:23:54 +00:00
Doug Evans
ebcdfe3343 * contrib/cc-with-tweaks.sh: Check exit code of dwp. 2013-03-25 22:53:54 +00:00
Pierre Muller
e3f1ad4fd2 * contrib/ari/gdb_ari.sh (OP eol rule): Also check
addtion, subtraction, multiplication and division binary operator.
2013-03-20 16:13:10 +00:00
Tom Tromey
c4a9e8b4e3 * contrib/excheck.py: New file.
* contrib/exsummary.py: New file.
	* contrib/gcc-with-excheck: New file.
2013-02-28 19:28:25 +00:00
Jan Kratochvil
7fb2b84a25 gdb/
* contrib/cc-with-tweaks.sh: Extend the comment for -p option.
2013-02-15 20:30:16 +00:00
Pierre Muller
42e79b1dfd * contrib/ari/gdb_ari.sh (GNU/Linux rule): Remove. 2013-02-14 21:08:35 +00:00
Jan Kratochvil
0f1b18abb4 gdb/
* contrib/expect-read1.c: New file.
	* contrib/expect-read1.sh: New file.
2013-02-03 16:27:57 +00:00
Doug Evans
fb8cf7c532 * contrib/cc-with-tweaks.sh: Add references to Fission docs. 2013-01-16 22:02:16 +00:00
Joel Brobecker
28e7fd6234 Update years in copyright notice for the GDB files.
Two modifications:
  1. The addition of 2013 to the copyright year range for every file;
  2. The use of a single year range, instead of potentially multiple
     year ranges, as approved by the FSF.
2013-01-01 06:33:28 +00:00
Joel Brobecker
2cb50f9d6a Delete the gdb/osf-share directory.
These are old files that GDB does not use anymore, and probably has not
used for a long time.

gdb/ChangeLog:

        * osf-share/AT386/cma_thread_io.h: Delete.
        * osf-share/HP800/cma_thread_io.h: Delete.
        * osf-share/README: Delete.
        * osf-share/RIOS/cma_thread_io.h: Delete.
        * osf-share/cma_attr.h: Delete.
        * osf-share/cma_deb_core.h: Delete.
        * osf-share/cma_debug_client.h: Delete.
        * osf-share/cma_errors.h: Delete.
        * osf-share/cma_handle.h: Delete.
        * osf-share/cma_init.h: Delete.
        * osf-share/cma_list.h: Delete.
        * osf-share/cma_mutex.h: Delete.
        * osf-share/cma_sched.h: Delete.
        * osf-share/cma_semaphore_defs.h: Delete.
        * osf-share/cma_sequence.h: Delete.
        * osf-share/cma_stack.h: Delete.
        * osf-share/cma_stack_int.h: Delete.
        * osf-share/cma_tcb_defs.h: Delete.
        * osf-share/cma_util.h: Delete.
        * Makefile.in (HFILES_NO_SRCDIR): Remove entries for the files
        in osf-share.
        * config/djgpp/fnchange.lst: Remove osf-share/cma_stack_int.h entry.
        * contrib/ari/gdb_find.sh: Remove handling of osf-share.
        * copyright.sh (NOT_FSF_LIST): Remove "gdb/osf-share" entry.
2012-12-07 02:57:50 +00:00
Tom Tromey
a93478eab4 * contrib/ari/gdb_ari.sh: Remove rules for xasprintf and
xvasprintf.
	* common/common-utils.c (xasprintf, xvasprintf): Remove.
	* common/common-utils.h (xasprintf, xvasprintf): Remove.
2012-11-29 17:23:18 +00:00
Pierre Muller
8bdce1ffdf 2012-11-15 Pierre Muller <muller@sourceware.org>
ARI fixes: move gdb_wait and gdb_stat headers to common subdirectory.
	* gdb_stat.h: Delete. Moved to common directory.
	* common/gdb_stat.h: New file.
	* gdb_wait.h: Delete. Moved to common directory.
	* common/gdb_wait.h: New file.
	* Makefile.in (H_FILES_NO_SRC): Adapt to new header
	location.
	* contrib/ari/gdb_ari.sh (wait.h rule): Adapt to new gdb_wait.h
	location.
	(stat.h rule): Adapt to new gdb_stat.h location.
	* common/linux-osdata.c: Include "gdb_stat.h" header instead of
	<sys/stat.h> header.
	* common/linux-ptrace.c: Include "gdb_wait.h" header instead of
	<sys/wait.h> header.


gdbserver ChangeLog entry:

2012-11-15  Pierre Muller  <muller@sourceware.org>

	* configure.ac (AC_CHECK_HEADERS): Add wait.h header.
	* config.in: Regenerate.
	* configure: Regenerate.
	* linux-low.c: Use "gdb_stat.h" header instead of <sys/stat.h> header.
	Use "gdb_wait.h" header instead of <sys/wait.h> header.
	* lynx-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
	* remote-utils.c: Use "gdb_stat.h" header instead of <sys/stat.h>
	header.
	* server.c: Remove HAVE_WAIT_H conditional.  Use "gdb_wait.h" header
	instead of <sys/wait.h> header.
	* spu-low.c: Use "gdb_wait.h" header instead of <sys/wait.h> header.
2012-11-15 16:12:19 +00:00
Tom Tromey
ea9f10bb87 PR gdb/14704:
* gdb_bfd.c (gdb_bfd_ref): Set BFD_DECOMPRESS.
	(zlib_decompress_section): Remove.
	(gdb_bfd_map_section): Only check for compressed section
	in mmap case.  Use bfd_get_full_section_contents.
	* osabi.c (check_note): Add 'sectsize' argument.  Read
	section data.
	(generic_elf_osabi_sniff_abi_tag_sections): Don't read
	section data.  Update for check_note change.
	* xcoffread.c (xcoff_initial_scan): Use
	bfd_get_full_section_contents.
	* py-auto-load.c (auto_load_section_scripts): Use
	bfd_get_full_section_contents.
	* contrib/cc-with-tweaks.sh: Add -Z option.
testsuite
	* gdb.base/comprdebug.exp: New file.
2012-11-08 19:52:42 +00:00
Pierre Muller
4574b35a66 * update-web-ari.sh (print_heading): Add number of files
checked.
	(nb_files): New variable counting the number of sources
	files found by gdb_find.sh script.
	(debug_awk): New variable to allow extra debug output.
	(indexes): Add more information if DEBUG_AWK is set.
2012-11-08 16:50:56 +00:00
Pierre Muller
84f1359519 * contrib/ari/gdb_ari.sh (LANG, LC_ALL): Use 'C' instead of 'c'
as default language.
	(AWK): Use = instead of == for sh test to avoid warning.
	(Linux rule): Correct [:digit] into [[:digit:]].
	(__func__ rule): Adapt to "gdb_assert.h" move to common subdirectory.
	(vasprintf rule): Adapt to common subdirectory moves.
	(xasprintf rule): Idem.
	(xvasprintf rule): Idem.
	(var_boolean rule): Accept occurence in == or != test.

	* contrib/ari/gdb_find.sh: Also prune gdbtk directory.
2012-11-08 09:04:27 +00:00
Pierre Muller
01f2564af3 * contrib/ari/create-web-ari-in-src.sh: Avoid problem if script
is not executable.
2012-11-06 08:24:44 +00:00
Doug Evans
80626a55b9 Add support for DWP files. http://gcc.gnu.org/wiki/DebugFissionDWP
* contrib/cc-with-tweaks.sh: Add -p parameter to invoke dwp.
	* dwarf2read.c: #include "elf-bfd.h".
	(struct dwarf2_per_objfile): New members dwp_checked, dwp_file.
	(dwop_section_names): Renamed from dwo_section names.  All uses
	updated.  Add entries for .debug_cu_index, .debug_tu_index.
	(struct dwo_file): Rename dwo_name to name, dwo_bfd to dbfd.
	All uses updated.
	(struct dwp_sections): New type.
	(struct virtual_dwo_sections): New type.
	(struct dwp_hash_table): New type.
	(struct dwp_file): New type.
	(init_cutu_and_read_dies): Ensure DWO info/types section has been
	read in.  Handle DWOs coming from DWP files.
	(lookup_dwo_file_slot): New function.
	(dwarf2_locate_dwo_sections): Move definition closer to use.
	(create_dwo_debug_info_hash_table_reader): Renamed from
	create_debug_info_hash_table_reader.  All callers updated.
	(create_dwo_debug_info_hash_table): Renamed from
	create_debug_info_hash_table.  All callers updated.
	(create_dwp_hash_table): New function.
	(locate_virtual_dwo_sections, create_dwo_in_dwp): New functions.
	(lookup_dwo_in_dwp): New function.
	(try_open_dwop_file): Renamed from try_open_dwo_file.  New parameter
	is_dwp.  All callers updated.
	(open_dwop_file): Renamed from open_dwo_file.  All callers updated.
	(open_and_init_dwo_file): Renamed from init_dwo_file.
	All callers updated.
	(lookup_dwo_file): Delete.
	(dwarf2_locate_dwp_sections): New function.
	(hash_dwp_loaded_cutus, eq_dwp_loaded_cutus): New functions.
	(allocate_dwp_loaded_cutus_table): New function.
	(open_and_init_dwp_file): New function.
	(lookup_dwo_cutu): New function.
	(lookup_dwo_comp_unit, lookup_dwo_type_unit): Call it.
2012-11-05 15:50:22 +00:00
Pierre Muller
b786c52157 Re-added with correct permissions 2012-11-02 18:19:36 +00:00
Pierre Muller
80059fac3b Removed to be re-added with correct permissions 2012-11-02 18:18:46 +00:00
Pierre Muller
e5496e3ec6 Incorporate ARI web page generator into GDB sources.
* contrib/ari/create-web-ari-in-src.sh: New file.
	* contrib/ari/gdb_ari.sh: New file.
	* contrib/ari/gdb_find.sh: New file.
	* contrib/ari/update-web-ari.sh: New file.
2012-11-01 21:22:27 +00:00
Yit Phang Khoo
63b4626663 Point contrib/cc-with-tweaks.sh to the build-local data-directory.
gdb/

	* contrib/cc-with-tweaks.sh (GDB): Add -data-directory
	data-directory as appropriate.
2012-09-14 08:03:34 +00:00
Jan Kratochvil
aec8845cae gdb/
* contrib/cc-with-tweaks.sh: Put into comment path gdb/contrib/.
2012-07-25 20:14:20 +00:00
Tom Tromey
853254db41 * cc-with-index.sh, cc-with-dwz.sh: Remove.
* contrib/cc-with-tweaks.sh: New file.
2012-07-18 20:04:44 +00:00
Sterling Augustine
be36f02d8a 2012-04-26 Sterling Augustine <saugustine@google.com>
* contrib: New directory.
	* contrib/test_pubnames_and_indexes.py: New file.
2012-04-30 18:06:50 +00:00