Will Newton [Fri, 7 Jun 2013 08:47:09 +0000 (08:47 +0000)]
gdb/testsuite/gdb.cp: Fix tests for ARM C++ ABI.
The ARM C++ ABI defines constructors and destructors to return
pointers to this. The C++ tests that check the types of constructors
and destructors expect a return type of void. Conditionalize these
tests so they pass on ARM.
gdb/testsuite/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* gdb.cp/anon-struct.exp: Conditionalize constructor and
destructor prototypes for ARM ABI.
* gdb.cp/m-static.exp: Likewise.
Will Newton [Fri, 7 Jun 2013 07:49:10 +0000 (07:49 +0000)]
gdb/printcmd.c: Fix printing of Thumb minimal symbols.
In build_address_symbolic we call gdbarch_addr_bits_remove for
symbols in the symbol table but not for minimal symbols. This
causes a failure in gdb.cp/virtfunc.exp on ARM, as the address
of the virtual thunk is given an offset of 1 when in Thumb mode.
gdb/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* printcmd.c (build_address_symbolic): Call
gdbarch_addr_bits_remove for text minimal symbols.
Will Newton [Fri, 7 Jun 2013 07:44:20 +0000 (07:44 +0000)]
gdb/MAINTAINERS: Add myself to Write After Approval.
gdb/ChangeLog:
2013-06-07 Will Newton <will.newton@linaro.org>
* MAINTAINERS: Add myself to Write After Approval.
Yao Qi [Fri, 7 Jun 2013 00:33:25 +0000 (00:33 +0000)]
gdb/doc/
* gdb.texinfo (Symbols): Add kindex and cindex for
'maint print msymbols'.
Yao Qi [Fri, 7 Jun 2013 00:29:19 +0000 (00:29 +0000)]
gdb/testsuite/
* gdb.trace/mi-trace-unavailable.exp: New.
* gdb.trace/trace-unavailable.c: New.
Yao Qi [Fri, 7 Jun 2013 00:19:36 +0000 (00:19 +0000)]
gdb/
* tracepoint.c (start_tracing): Move code to ...
(trace_reset_local_state): ... here. New.
(disconnect_tracing): Don't call set_current_traceframe,
set_tracepoint_num, and set_traceframe_context. Call
trace_reset_local_state instead.
(tfile_close): Call trace_reset_local_state.
* ctf.c (ctf_close): Likewise.
* remote.c (remote_close): Likewise.
* tracepoint.h (trace_reset_local_state): Declare.
Alan Modra [Fri, 7 Jun 2013 00:00:05 +0000 (00:00 +0000)]
daily update
gdbadmin [Fri, 7 Jun 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
Doug Evans [Thu, 6 Jun 2013 23:51:09 +0000 (23:51 +0000)]
* dwarf2read.c: Whitespace fixes for DWP file format documentation,
and fix header docs.
Maciej W. Rozycki [Thu, 6 Jun 2013 22:09:07 +0000 (22:09 +0000)]
* mips.h (ELF_ST_SET_MIPS_PIC): Clear any STO_MIPS16 setting.
Doug Evans [Thu, 6 Jun 2013 19:02:27 +0000 (19:02 +0000)]
* gdb.cp/derivation.exp: Make tests have unique names.
Tom Tromey [Thu, 6 Jun 2013 19:00:13 +0000 (19:00 +0000)]
* gdb.base/dump.exp (capture_value): Don't put expression into
test name if arguments passed in.
Rename a couple more tests to make them unique.
Doug Evans [Thu, 6 Jun 2013 18:02:48 +0000 (18:02 +0000)]
Add PR number to this entry:
PR server/15594
* linux-x86-low.c (ps_get_thread_area): Properly extend address to
64 bits in 64-cross-32 environment.
Tom Tromey [Thu, 6 Jun 2013 15:50:37 +0000 (15:50 +0000)]
* gdb.base/break-always.exp: Explicitly specify test name.
Gary Benson [Thu, 6 Jun 2013 08:50:08 +0000 (08:50 +0000)]
Add missing PR to ChangeLog entry
Cary Coutant [Thu, 6 Jun 2013 06:06:56 +0000 (06:06 +0000)]
gold/
Add missing test case from last patch.
Joel Brobecker [Thu, 6 Jun 2013 05:16:06 +0000 (05:16 +0000)]
Replace "(tiny patch)" by "(tiny change)" in gdb ChangeLogs...
... as this is the wording recommended by the FSF via the manual
for Maintainers of GNU software.
Joel Brobecker [Thu, 6 Jun 2013 05:10:20 +0000 (05:10 +0000)]
Annotate last gdb.texinfo patch as accepted as a "tiny patch"
(copyright assignment not needed because patch is small enough to
not be legally significant).
Alan Modra [Thu, 6 Jun 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Thu, 6 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Cary Coutant [Wed, 5 Jun 2013 23:52:21 +0000 (23:52 +0000)]
2013-06-05 Alexander Ivchenko <alexander.ivchenko@intel.com>
gold/
* layout.cc (Layout::set_segment_offsets): Taking care of the case when
the maximum segment alignment is larger than the page size.
* testsuite/Makefile.am (large_symbol_alignment): Test that Gold
correctly aligns the symbols with large alignemnt.
* testsuite/Makefile.in: Regenerate.
* testsuite/large_symbol_alignment.cc: New file.
Doug Evans [Wed, 5 Jun 2013 22:28:51 +0000 (22:28 +0000)]
PR 15519
* cp-namespace.c (find_symbol_in_baseclass): Call
cp_lookup_symbol_in_namespace instead of cp_lookup_symbol_namespace.
Check result of call to lookup_symbol_static.
Call lookup_static_symbol_aux unconditionally.
Call check_typedef on base types before accessing them.
(cp_lookup_nested_symbol): Fix comment.
testsuite/
* gdb.cp/derivation2.cc: New file.
* gdb.cp/derivation.cc (main): Call foo2.
* gdb.cp/derivation.exp: Add tests for typedefs in another
file, and when there's an active block.
Luis Machado [Wed, 5 Jun 2013 20:43:53 +0000 (20:43 +0000)]
* gnu-v3-abi.c (gnuv3_skip_trampoline): Handle thunk
minimal symbols pointing to function descriptors.
Luis Machado [Wed, 5 Jun 2013 20:38:37 +0000 (20:38 +0000)]
* gdb.cp/virtfunc.exp (make_one_vtable_result): Handle extra output
from targets that use function descriptors in the virtual tables.
Handle presence of dot symbols.
Tom Tromey [Wed, 5 Jun 2013 17:32:51 +0000 (17:32 +0000)]
* python/py-utils.c (gdb_pymodule_addobject): Cast away const.
Marc Khouzam [Wed, 5 Jun 2013 14:11:47 +0000 (14:11 +0000)]
2013-06-05 Simon Marchi <simon.marchi@ericsson.com>
* gdb.texinfo (Miscellaneous gdb/mi Commands): Fix -add-inferior
response field name (thread-group to inferior).
Mike Frysinger [Wed, 5 Jun 2013 01:42:13 +0000 (01:42 +0000)]
sim: use AM_MAINTAINER_MODE
I noticed the sim code is using an old implementation of the maintainer logic.
I cut it over to the new macro (like gdb has been doing). In practice, it
makes no difference currently as nothing in the sim tree uses it, but I have a
follow up commit for the Blackfin tree that needs it.
gdbadmin [Wed, 5 Jun 2013 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Wed, 5 Jun 2013 00:00:05 +0000 (00:00 +0000)]
daily update
Roland McGrath [Tue, 4 Jun 2013 19:24:10 +0000 (19:24 +0000)]
ld/testsuite/
* ld-size/size.exp: For *-*-nacl* targets, use options_regsub(ld)
to massage -m arguments into _nacl variants.
* ld/testsuite/ld-size/size32-1-i386.d: Loosen regexps so they
don't care what the exact addresses are.
* ld/testsuite/ld-size/size32-1-x32.d: Likewise.
* ld/testsuite/ld-size/size32-1-x86-64.d: Likewise.
* ld/testsuite/ld-size/size32-2-i386.d: Likewise.
* ld/testsuite/ld-size/size32-2-x32.d: Likewise.
* ld/testsuite/ld-size/size32-2-x86-64.d: Likewise.
* ld/testsuite/ld-size/size64-1-x32.d: Likewise.
* ld/testsuite/ld-size/size64-1-x86-64.d: Likewise.
* ld/testsuite/ld-size/size64-2-x32.d: Likewise.
* ld/testsuite/ld-size/size64-2-x86-64.d: Likewise.
H.J. Lu [Tue, 4 Jun 2013 16:08:51 +0000 (16:08 +0000)]
Update x86 nacl tests for section alignment change
* ld-i386/tlsbindesc-nacl.rd: Updated for text/data/bss section
alignment change.
* ld-x86-64/split-by-file-nacl.rd: Likewise.
Sergio Durigan Junior [Tue, 4 Jun 2013 15:13:33 +0000 (15:13 +0000)]
Fixing ChangeLog entry of the last commit.
Sergio Durigan Junior [Tue, 4 Jun 2013 15:12:52 +0000 (15:12 +0000)]
GDB was not restoring the signal handler before returning when a notification
was received. This patch fixes it.
2013-06-04 Sergio Durigan Junior <sergiodj@redhat.com>
Pedro Alves <palves@redhat.com>
* remote.c (remote_wait_as): Restore signal handler before returning
when GDB gets a notification.
Gary Benson [Tue, 4 Jun 2013 13:31:00 +0000 (13:31 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* gdb.base/break-probes.exp: New file.
* gdb.base/break-probes.c: Likewise.
* gdb.base/break-probes-solib.c: Likewise.
* gdb.base/info-shared.exp: New file.
* gdb.base/info-shared.c: Likewise.
* gdb.base/info-shared-solib1.c: Likewise.
* gdb.base/info-shared-solib2.c: Likewise.
Gary Benson [Tue, 4 Jun 2013 13:23:32 +0000 (13:23 +0000)]
2013-06-04 Jan Kratochvil <jan.kratochvil@redhat.com>
Gary Benson <gbenson@redhat.com>
* lib/gdb.exp (build_executable_from_specs): Use gdb_compile_pthread,
gdb_compile_shlib or gdb_compile_shlib_pthreads where appropriate.
* lib/prelink-support.exp (build_executable_own_libs): Allow INTERP
to be set to "no" to indicate that no ld.so copy should be made.
* gdb.base/break-interp.exp (solib_bp): New constant.
(reach_1): Use the above instead of "_dl_debug_state".
(test_attach): Likewise.
(test_ld): Likewise.
* gdb.threads/dlopen-libpthread.exp: New file.
* gdb.threads/dlopen-libpthread.c: Likewise.
* gdb.threads/dlopen-libpthread-lib.c: Likewise.
* gdb.base/solib-corrupted.exp: Disable test if GDB is using probes.
Gary Benson [Tue, 4 Jun 2013 13:17:06 +0000 (13:17 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* breakpoint.h (handle_solib_event): Moved function declaration
to solib.h.
* breakpoint.c (handle_solib_event): Moved function to solib.c.
(bpstat_stop_status): Pass new argument to handle_solib_event.
* solib.h (update_solib_breakpoints): New function declaration.
(handle_solib_event): Moved function declaration from
breakpoint.h.
* solib.c (update_solib_breakpoints): New function.
(handle_solib_event): Moved function from breakpoint.c.
Updated to call solib_ops->handle_event if not NULL.
* solist.h (target_so_ops): New fields "update_breakpoints" and
"handle_event".
* infrun.c (set_stop_on_solib_events): New function.
(_initialize_infrun): Use the above for "set
stop-on-solib-events".
(handle_inferior_event): Pass new argument to handle_solib_event.
* solib-svr4.c (probe.h): New include.
(svr4_free_library_list): New forward declaration.
(probe_action): New enum.
(probe_info): New struct.
(probe_info): New static variable.
(NUM_PROBES): New definition.
(svr4_info): New fields "using_xfer", "probes_table" and
"solib_list".
(free_probes_table): New function.
(free_solib_list): New function.
(svr4_pspace_data_cleanup): Free probes table and solib list.
(svr4_copy_library_list): New function.
(svr4_current_sos_via_xfer_libraries): New parameter "annex".
(svr4_read_so_list): New parameter "prev_lm".
(svr4_current_sos_direct): Renamed from "svr4_current_sos".
(svr4_current_sos): New function.
(probe_and_action): New struct.
(hash_probe_and_action): New function.
(equal_probe_and_action): Likewise.
(register_solib_event_probe): Likewise.
(solib_event_probe_at): Likewise.
(solib_event_probe_action): Likewise.
(solist_update_full): Likewise.
(solist_update_incremental): Likewise.
(disable_probes_interface_cleanup): Likewise.
(svr4_handle_solib_event): Likewise.
(svr4_update_solib_event_breakpoint): Likewise.
(svr4_update_solib_event_breakpoints): Likewise.
(svr4_create_solib_event_breakpoints): Likewise.
(enable_break): Free probes table before creating breakpoints.
Use svr4_create_solib_event_breakpoints to create breakpoints.
(svr4_solib_create_inferior_hook): Free the solib list.
(_initialize_svr4_solib): Initialise
svr4_so_ops.handle_solib_event and svr4_so_ops.update_breakpoints.
Gary Benson [Tue, 4 Jun 2013 13:10:53 +0000 (13:10 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* target.h (target_ops): New field
"to_augmented_libraries_svr4_read".
(target_augmented_libraries_svr4_read): New macro.
* target.c (update_current_target): Handle
to_augmented_libraries_svr4_read.
* remote.c (remote_state): New field
"augmented_libraries_svr4_read".
(remote_augmented_libraries_svr4_read_feature): New function.
(remote_protocol_features): Add entry for
"augmented-libraries-svr4-read".
(remote_augmented_libraries_svr4_read): New function.
(init_remote_ops): Initialize
remote_ops.to_augmented_libraries_svr4_read.
Gary Benson [Tue, 4 Jun 2013 13:07:45 +0000 (13:07 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* gdb.texinfo (General Query Packets/qSupported): Added
"qXfer:libraries-svr4:read" and "augmented-libraries-svr4-read".
to the table of currently defined stub features.
Added a more detailed entry for "augmented-libraries-svr4-read".
(General Query Packets/qXfer:libraries-svr4:read): Documented
the augmented form of this packet.
Gary Benson [Tue, 4 Jun 2013 13:02:15 +0000 (13:02 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* NEWS: Update.
Gary Benson [Tue, 4 Jun 2013 12:59:21 +0000 (12:59 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* server.c (handle_query): Add "augmented-libraries-svr4-read+"
to qSupported response when appropriate.
(handle_qxfer_libraries_svr4): Allow qXfer:libraries-svr4:read
with nonzero-length annex.
* linux-low.c (linux_qxfer_libraries_svr4): Parse and handle
arguments supplied in annex.
Gary Benson [Tue, 4 Jun 2013 12:53:34 +0000 (12:53 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* objfiles.h (inhibit_section_map_updates): New function
declaration.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
* objfiles.c (objfile_pspace_info): Removed field
"objfiles_changed_p". New fields "new_objfiles_available",
"section_map_dirty" and "inhibit_updates".
(allocate_objfile): Set new_objfiles_available.
(free_objfile): Set section_map_dirty.
(objfile_relocate1): Likewise.
(in_plt_section): Likewise.
(find_pc_section): Update the conditions under which the
section map will be updated.
(inhibit_section_map_updates): New function.
(resume_section_map_updates): Likewise.
(resume_section_map_updates_cleanup): Likewise.
Gary Benson [Tue, 4 Jun 2013 12:50:21 +0000 (12:50 +0000)]
2013-06-04 Gary Benson <gbenson@redhat.com>
* probe.h (get_probe_argument_count): New declaration.
(evaluate_probe_argument): Likewise.
* probe.c (get_probe_argument_count): New function.
(evaluate_probe_argument): Likewise.
(probe_safe_evaluate_at_pc): Use the above new functions.
Alan Modra [Tue, 4 Jun 2013 02:44:35 +0000 (02:44 +0000)]
* ppc-tdep.h (ppc_insns_match_pattern): Update prototype.
* rs6000-tdep.c (read_insn): Add frame param, don't assume big-endian.
(ppc_insns_match_pattern): Add frame param. Avoid multiple
target mem reads on optional insns.
* ppc-linux-tdep.c (ppc_skip_trampoline_code): Update
ppc_insns_match_pattern calls.
* ppc64-tdep.c (ppc64_standard_linkage2, ppc64_standard_linkage3):
Add match for power7 thread safety insns, and new order of
std 2,40(1) insn. Correct code shown for _dl_runtime_resolve
invocation in comment, and update rest of comment.
(PPC64_STANDARD_LINKAGE1_LEN, PPC64_STANDARD_LINKAGE2_LEN,
PPC64_STANDARD_LINKAGE3_LEN): Delete.
(ppc64_standard_linkage2_target): Update insn offsets.
(ppc64_skip_trampoline_code): Use a single insn buffer. Match newer
stubs first. Update calls.
Yao Qi [Tue, 4 Jun 2013 01:33:31 +0000 (01:33 +0000)]
gdb/
* solib.c (solib_find): Don't need dir separator if path has
drive spec.
gdbadmin [Tue, 4 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Tue, 4 Jun 2013 00:00:05 +0000 (00:00 +0000)]
daily update
Joel Brobecker [Mon, 3 Jun 2013 13:22:29 +0000 (13:22 +0000)]
Revert "fix cleanup handling in macho_symfile_read"
This patch indirectly causes a SEGV by creating a dangling pointer.
Reverting this patch while working on a clearer memory management
method for this part of the code.
gdb/Changelog:
Revert:
* machoread.c (macho_symfile_read): Assign first cleanup to
'back_to'.
Alan Modra [Mon, 3 Jun 2013 04:11:09 +0000 (04:11 +0000)]
* syms.c (_bfd_stab_section_find_nearest_line): Add last_str
var. Use it with last_stab.
Yao Qi [Mon, 3 Jun 2013 03:16:24 +0000 (03:16 +0000)]
gdb/
* mi/mi-cmd-var.c (mi_no_values, mi_simple_values): Move to
mi-parse.c. Make them static.
(mi_all_values): Likewise.
(mi_parse_values_option): Move to mi-parse.c. Rename it to
mi_parse_print_values. Make it external.
* mi/mi-cmds.h (mi_no_values, mi_simple_values, mi_all_values):
Remove the declarations.
* mi/mi-parse.c (mi_parse_print_values): Moved from mi-cmd-var.c.
* mi/mi-parse.h (mi_parse_print_values): Declare.
* mi/mi-cmd-stack.c: Include mi-parse.h.
(parse_print_values): Remove
(mi_cmd_stack_list_locals): Call mi_parse_print_values instead
of parse_print_values.
(mi_cmd_stack_list_args, mi_cmd_stack_list_variables): Likewise.
Alan Modra [Mon, 3 Jun 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Mon, 3 Jun 2013 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
gdbadmin [Sun, 2 Jun 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Sun, 2 Jun 2013 00:00:05 +0000 (00:00 +0000)]
daily update
Denis Chertykov [Sat, 1 Jun 2013 07:14:44 +0000 (07:14 +0000)]
* gas/config/tc-avr.c: Change ISA for devices with USB support to
AVR_ISA_XMEGAU
* include/opcode/avr.h: Rename AVR_ISA_XCH to AVR_ISA_RMW. Remove
from AVR_ISA_XMEGA and add new AVR_ISA_XMEGAU
DJ Delorie [Sat, 1 Jun 2013 01:01:44 +0000 (01:01 +0000)]
merge from gcc
Alan Modra [Sat, 1 Jun 2013 00:00:04 +0000 (00:00 +0000)]
daily update
gdbadmin [Sat, 1 Jun 2013 00:00:02 +0000 (00:00 +0000)]
*** empty log message ***
Doug Evans [Fri, 31 May 2013 19:14:33 +0000 (19:14 +0000)]
* linux-x86-low.c (ps_get_thread_area): Properly extend address to
64 bits in 64-cross-32 environment.
H.J. Lu [Fri, 31 May 2013 17:27:28 +0000 (17:27 +0000)]
Don't align text/data/bss sections for ELF
binutils/testsuite/
* binutils-all/i386/compressed-1b.d: Updated for text/data/bss
section alignment change.
* binutils-all/i386/compressed-1c.d: Likewise.
* binutils-all/x86-64/compressed-1b.d: Likewise.
* binutils-all/x86-64/compressed-1c.d: Likewise.
gas/
* config/tc-i386.c (md_begin): Don't align text/data/bss sections
for ELF.
gas/testsuite/
* gas/i386/size-3.d: Updated for text/data/bss section alignment
change.
* gas/i386/x86-64-size-1.d: Likewise.
* gas/i386/x86-64-unwind.d: Likewise.
* gas/i386/ilp32/x86-64-size-1.d: Likewise.
* gas/i386/ilp32/x86-64-size-5.d: Likewise.
* gas/i386/ilp32/x86-64-unwind.d: Likewise.
ld/testsuite/
* ld-i386/pr12718.d: Updated for text/data/bss section alignment
change.
* ld-i386/tlsbindesc.dd: Likewise.
* ld-i386/tlsbindesc.rd: Likewise.
* ld-i386/tlsnopic.dd: Likewise.
* ld-i386/tlspic.dd: Likewise.
* ld-x86-64/ilp32-4.d: Likewise.
* ld-x86-64/pr12718.d: Likewise.
* ld-x86-64/split-by-file.rd: Likewise.
* ld-x86-64/tlsbin.dd: Likewise.
* ld-x86-64/tlsbin.rd: Likewise.
* ld-x86-64/tlsbindesc.dd: Likewise.
* ld-x86-64/tlsbindesc.rd: Likewise.
* ld-x86-64/tlsdesc.dd: Likewise.
* ld-x86-64/tlsdesc.rd: Likewise.
* ld-x86-64/tlspic.dd: Likewise.
* ld-x86-64/tlspic.rd: Likewise.
Catherine Moore [Fri, 31 May 2013 17:04:53 +0000 (17:04 +0000)]
2013-05-31 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-mips.c (s_ehword): New.
2013-05-31 Catherine Moore <clm@codesourcery.com>
gas/testsuite/
* gas/mips/ehword.d: New.
* gas/mips/ehword.s: New.
* gas/mips/mips.exp: Run ehword test.
Yao Qi [Fri, 31 May 2013 10:06:02 +0000 (10:06 +0000)]
gdb/
* tracepoint.c (all_tracepoint_actions_and_cleanup): Declare.
(encode_actions): Move code to ...
(all_tracepoint_actions_and_cleanup): ... here. New.
(trace_dump_command): Likewise.
gdbadmin [Fri, 31 May 2013 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
Alan Modra [Fri, 31 May 2013 00:00:04 +0000 (00:00 +0000)]
daily update
Cary Coutant [Thu, 30 May 2013 23:01:11 +0000 (23:01 +0000)]
2013-05-30 Alexander Ivchenko <alexander.ivchenko@intel.com>
Sriraman Tallam <tmsriram@google.com>
* options.h (sort_section): New option.
* output.h (Input_section_sort_section_prefix_special_ordering_compare):
Rename from Input_section_sort_section_name_special_ordering_compare.
(Input_section_sort_section_name_compare): New struct.
* output.cc (Output_section::Input_section_sort_section_name_compare::
operator()): New function.
(Output_section::sort_attached_input_sections): Use new sort function
for .text if --sort-section=name is specified.
* layout.cc (Layout::make_output_section):
Add sorting by name when --sort-section=name is specified.
* testsuite/Makefile.am (text_section_grouping): Test option
--sort-section=name.
* testsuite/Makefile.in: Regenerate.
* testsuite/section_sorting_name.cc: New file.
* testsuite/section_sorting_name.sh: New file.
Catherine Moore [Thu, 30 May 2013 20:27:21 +0000 (20:27 +0000)]
2013-05-30 Paul Brook <paul@codesourcery.com>
bfd/
* bfd-in2.h: Regenerate.
* elf32-mips.c (elf_mips_eh_howto): New.
(bfd_elf32_bfd_reloc_type_lookup ): Support BFD_RELOC_MIPS_EH.
(bfd_elf32_bfd_reloc_name_lookup): Likewise.
(mips_elf32_rtype_to_howto): Support R_MIPS_EH.
* elf64-mips.c (elf_mips_eh_howto): New.
(bfd_elf64_bfd_reloc_type_lookup): Support BFD_RELOC_MIPS_EH.
(bfd_elf64_bfd_reloc_name_lookup): Likewise.
(mips_elf64_rtype_to_howto): Support R_MIPS_EH.
* libbfd.h: Regenerate.
* reloc.c (BFD_RELOC_MIPS_EH): New.
gas/
* config/tc-mips.c (md_apply_fix): Support BFD_RELOC_MIPS_EH.
include/elf
* mips.h (R_MIPS_EH): New.
Tom Tromey [Thu, 30 May 2013 17:44:54 +0000 (17:44 +0000)]
maintenance_expand_symtabs leaks a cleanup
It turns out that maintenance_expand_symtabs was missing a call to
do_cleanups. I found this using the cleanup checker.
* symmisc.c (maintenance_expand_symtabs): Call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:41:38 +0000 (17:41 +0000)]
fix up xml-support.c
xml-support.c has a function that returns a cleanup via an out parameter.
This changes this function to be a normal cleanup constructor --
returning the cleanup directly and returning the other result via an
out parameter.
This is sort of a hack, but it lets the checker work here.
I also noticed that gdb_xml_create_parser_and_cleanup does not need to
be exported any more.
* xml-support.c (gdb_xml_create_parser_and_cleanup): Rename from
gdb_xml_create_parser_and_cleanup_1. Return a cleanup. Remove
'old_chain' argument. Add 'parser_result' argument.
(gdb_xml_create_parser_and_cleanup): Remove old version.
(gdb_xml_parse_quick): Update.
(xml_process_xincludes): Update.
* xml-support.h (gdb_xml_create_parser_and_cleanup): Don't
declare.
Tom Tromey [Thu, 30 May 2013 17:39:34 +0000 (17:39 +0000)]
fix compile_rx_or_error
compile_rx_or_error looks like a constructor, but it can return NULL.
This patch changes it to remove the NULL return, making it work
like any other cleanup constructor.
This is a stylistic patch but I think it is also better for code to
follow the normal conventions.
* probe.c (collect_probes): Check arguments for NULL before
calling compile_rx_or_error.
* utils.c (compile_rx_or_error): Require 'rx' to be non-NULL.
Remove NULL return.
Tom Tromey [Thu, 30 May 2013 17:37:50 +0000 (17:37 +0000)]
some fixes to infrun.c
This fixes some of the problems in infrun.c that the checker reported.
I filed the remaining problems as bugs.
This patch is purely stylistic.
* infrun.c (adjust_pc_after_break): Introduce an outer null
cleanup.
Tom Tromey [Thu, 30 May 2013 17:37:12 +0000 (17:37 +0000)]
fix mi-cmd-var.c
This is a stylistic change in mi-cmd-var.c that adds outer cleanups
where needed by the checker.
* mi/mi-cmd-var.c (varobj_update_one): Add an outer null cleanup.
Tom Tromey [Thu, 30 May 2013 17:36:29 +0000 (17:36 +0000)]
fix cli-script.c
read_command_lines_1 had some (IMNSHO) spaghetti-ish code for cleanup
handling. This makes the code much simpler to understand, by
introducing an outer cleanup.
This is another case where a stylistic change for the checker is also
nice for the reader.
* cli/cli-script.c (read_command_lines_1): Use a null cleanup
for 'old_chain'. Do not check 'head' before processing
cleanups.
Tom Tromey [Thu, 30 May 2013 17:35:40 +0000 (17:35 +0000)]
fix mi-cmd-stack.c
mi-cmd-stack.d had a conditional cleanup, "cleanup_tuple" that
confused the checker. However, there was no need for this, since it
was only used via do_cleanups at the end of the function, just before
another call to do_cleanups.
So, while this is a stylistic patch for the checker, I also consider
it a generic improvement for readers of the code.
* mi/mi-cmd-stack.c (list_arg_or_local): Remove
"cleanup_tuple".
Tom Tromey [Thu, 30 May 2013 17:34:18 +0000 (17:34 +0000)]
fix dbxread.c
This is a stylistic change to make some code in dbxread.c analyzable
by the checker.
* dbxread.c (dbx_read_symtab): Declare 'back_to' in a more
inner scope. Unconditionally call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:33:41 +0000 (17:33 +0000)]
fix source.c
find_and_open_source can leak a cleanup.
* source.c (find_and_open_source): Call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:31:48 +0000 (17:31 +0000)]
fix linux-thread-db.c
This is a stylistic change to make it so the checker can analyze a
function in linux-thread-db.c.
* linux-thread-db.c (thread_db_load_search): Unconditionally
call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:31:00 +0000 (17:31 +0000)]
fix in solib-aix.c
solib_aix_bfd_open has an early "return" that doesn't run cleanups.
This fixes the problem by dropping the null_cleanup and using a later
cleanup as the master cleanup for the function.
* solib-aix.c (solib_aix_bfd_open): Don't use a null cleanup
for 'cleanup'; instead use a later one.
Tom Tromey [Thu, 30 May 2013 17:30:03 +0000 (17:30 +0000)]
use explicit returns to avoid checker confusion
The checker does not understand the idiom
if (except.reason < 0) {
do_cleanups (whatever);
GDB_PY_HANDLE_EXCEPTION (except);
}
because it doesn't realize that the nested 'if' actually has the same
condition.
This fixes instances of this to be more explicit.
* python/py-breakpoint.c (bppy_get_commands): Use
explicit, unconditional return.
* python/py-frame.c (frapy_read_var): Likewise.
* python/python.c (gdbpy_decode_line): Likewise.
Tom Tromey [Thu, 30 May 2013 17:29:06 +0000 (17:29 +0000)]
fix cp-namespace.c
cp_lookup_symbol_imports_or_template could return without
running cleanups.
* cp-namespace.c (cp_lookup_symbol_imports_or_template): Call
do_cleanups on all return paths.
Tom Tromey [Thu, 30 May 2013 17:27:44 +0000 (17:27 +0000)]
fix top.c
execute_command can leak a cleanup along one return path.
* top.c (execute_command): Discard 'cleanup_if_error' cleanups.
Tom Tromey [Thu, 30 May 2013 17:25:15 +0000 (17:25 +0000)]
fix one bug in stabsread.c
Some code in stabsread.c can return without running cleanups.
* stabsread.c (read_struct_type): Call do_cleanups along
all return paths.
Maciej W. Rozycki [Thu, 30 May 2013 17:23:05 +0000 (17:23 +0000)]
* mips-linux-tdep.c: Adjust formatting throughout.
Tom Tromey [Thu, 30 May 2013 17:21:51 +0000 (17:21 +0000)]
fix mipsread.c
Some code in mipsread.c could leak cleanups along some return paths.
* mipsread.c (read_alphacoff_dynamic_symtab): Call do_cleanups
along all return paths.
Tom Tromey [Thu, 30 May 2013 17:21:15 +0000 (17:21 +0000)]
fix one bug in symfile.c
find_separate_debug_file could leak a cleanup along some return paths.
* symfile.c (find_separate_debug_file): Call do_cleanups
along all return paths.
Tom Tromey [Thu, 30 May 2013 17:20:02 +0000 (17:20 +0000)]
fix symtab.c
search_symbols had some bad code resulting in a cleanup being both
discarded and run.
* symtab.c (search_symbols): Introduce a null cleanup for
'retval_chain'.
Tom Tromey [Thu, 30 May 2013 17:18:54 +0000 (17:18 +0000)]
fix py-value.c
Some code in py-value.c could exit a loop without running some
cleanups made in the loop.
* python/py-value.c (valpy_binop): Call do_cleanups before
exiting loop.
Tom Tromey [Thu, 30 May 2013 17:17:25 +0000 (17:17 +0000)]
fix py-prettyprint.c
print_children, in py-prettyprint.c, could call do_cleanups twice on
the same cleanup.
* python/py-prettyprint.c (print_children): Remove extra
do_cleanups call.
Tom Tromey [Thu, 30 May 2013 17:16:05 +0000 (17:16 +0000)]
fix py-frame.c
A couple return paths in frapy_read_var were missing do_cleanups calls.
* python/py-frame.c (frapy_read_var): Call do_cleanups along
all return paths.
Tom Tromey [Thu, 30 May 2013 17:14:35 +0000 (17:14 +0000)]
fix py-breakpoint.c
One return path in bppy_get_commands was missing a do_cleanups call.
* python/py-breakpoint.c (bppy_get_commands): Call do_cleanups
along all return paths.
Tom Tromey [Thu, 30 May 2013 17:13:19 +0000 (17:13 +0000)]
simplify cli-logging.c for analysis
This is another stylistic patch. It changes cli-logging.c to be
analyzable by the checker, again following the method of adding an
outer cleanup and unconditionally calling do_cleanups.
* cli/cli-logging.c (set_logging_redirect): Unconditionally
call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:11:38 +0000 (17:11 +0000)]
fix varobj.c
c_value_of_root is missing a call to do_cleanups at one return.
This fixes the problem by removing that return and letting control
fall through.
* varobj.c (c_value_of_root): Call do_cleanups along all
return paths.
Tom Tromey [Thu, 30 May 2013 17:10:41 +0000 (17:10 +0000)]
make a cleanup unconditionally in tracepoint.c
This is another cosmetic patch. It introduces an "outer" cleanup in
trace_dump_command and arranges to unconditionally call do_cleanups.
This lets the checker analyze the function.
* tracepoint.c (trace_dump_command): Unconditionally call
do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:09:02 +0000 (17:09 +0000)]
fix two buglets in breakpoint.c
First, output_thread_groups leaks a cleanup along one return path.
Second, parse_cmd_to_aexpr could return without running its cleanups,
if there was an exception in a TRY_CATCH.
* breakpoint.c (output_thread_groups, parse_cmd_to_aexpr): Call
do_cleanups earlier.
Tom Tromey [Thu, 30 May 2013 17:06:31 +0000 (17:06 +0000)]
fix cleanup handling in macho_symfile_read
macho_symfile_read leaks a cleanup by assigning to 'back_to' too late.
* machoread.c (macho_symfile_read): Assign first cleanup to
'back_to'.
Tom Tromey [Thu, 30 May 2013 17:05:32 +0000 (17:05 +0000)]
fix cleanup handling in m32r_load
m32r_load is missing a call to do_cleanups along one return path.
* m32r-rom.c (m32r_load): Call do_cleanups at all returns.
Tom Tromey [Thu, 30 May 2013 17:04:47 +0000 (17:04 +0000)]
fix list_available_thread_groups
list_available_thread_groups, in mi-main.c, leaks a cleanup.
This changes it to call do_cleanups.
* mi/mi-main.c (list_available_thread_groups): Call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:04:03 +0000 (17:04 +0000)]
cleanup fixes for inf-ptrace.c
This is one of the stylistic patches. The code here in inf-ptrace.c
is not incorrect, but it is in a style that the cleanup checker cannot
handle. This patch changes it to a simpler style, following the usual
method of introducing an unconditional "outer" cleanup.
* inf-ptrace.c (inf_ptrace_create_inferior): Unconditionally
call discard_cleanups.
(inf_ptrace_attach): Likewise.
Tom Tromey [Thu, 30 May 2013 17:03:00 +0000 (17:03 +0000)]
cleanup fixes for remote-mips.c
remote-mips.c has a few 'return's where cleanups are not run.
* remote-mips.c (mips_exit_debug): Call do_cleanups on all
return paths.
(mips_initialize): Likewise.
(common_open): Call do_cleanups.
Tom Tromey [Thu, 30 May 2013 17:01:16 +0000 (17:01 +0000)]
fix up cleanup handling in internal_vproblem
internal_vproblem can return, so this introduces proper cleanup
handling there. Otherwise it may make a cleanup that is leaked.
* utils.c (internal_vproblem): Call do_cleanups.
Tom Tromey [Thu, 30 May 2013 16:57:38 +0000 (16:57 +0000)]
fix linespec bug noticed by the checker
This fixes a linespec bug noticed by the cleanup checker.
find_linespec_symbols did this:
cleanup = demangle_for_lookup (name, state->language->la_language,
&lookup_name);
[...]
cleanup = make_cleanup (xfree, canon);
But this is wrong, as it makes a subsequent call to do_cleanups not
clean up all the local state.
* linespec.c (find_linespec_symbols): Don't reassign to 'cleanup'.
Tom Tromey [Thu, 30 May 2013 16:31:33 +0000 (16:31 +0000)]
remove erroneous return from setup_user_args
This fixes setup_user_args to drop a useless and confusing "return".
* cli/cli-script.c (setup_user_args): Don't return after error.