aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-02Taking an undefined function's address in an executableAlan Modra10-19/+226
doesn't always mean you need to define a function symbol on plt code. If all references are in read-write sections, then using dynamic relocs is OK. bfd/ * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Clear pointer_equality_needed when !readonly_dynrelocs. * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise. ld/testsuite/ * ld-powerpc/ambiguousv1.d: Match symbol table too. * ld-powerpc/ambiguousv2.d: Likewise. * ld-powerpc/ambiguousv1b.d: New. * ld-powerpc/ambiguousv2b.d: New. * ld-powerpc/powerpc.exp: Run new tests.
2014-07-02Remove unused Linux libthread_db callbacksGary Benson2-103/+15
gdb/proc-service.c includes several libthread_db callbacks that do not exist in gdb/gdbserver/proc-service.c. Other than in proc_service.h, there is no reference to any of these callbacks in any revision of nptl_db or linuxthreads_db in glibc's git repo so it seems likely that these functions have never been called. This commit removes them. gdb/ 2014-07-02 Gary Benson <gbenson@redhat.com> * proc-service.c (ps_xfer_memory): Update comment. (ps_pstop): Remove unused function. (ps_pcontinue): Likewise. (ps_lstop): Likewise. (ps_lcontinue): Likewise. (ps_lgetxregsize): Likewise. (ps_lgetxregs): Likewise. (ps_lsetxregs): Likewise. (ps_plog): Likewise. (ps_ptread): Likewise. (ps_ptwrite): Likewise.
2014-07-02Set DF_STATIC_TLS for PIEsAlan Modra3-6/+10
If we can dlopen an object then DF_STATIC_TLS is relevant. * elf32-ppc.c (ppc_elf_check_relocs): Set DF_STATIC_TLS for PIEs too. * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
2014-07-02daily updateAlan Modra1-1/+1
2014-07-01Handle volatile array types in dwarf2read.c.Mark Wielaard5-19/+89
read_tag_const_type propagates the cv-qualifier to the array element type, but read_tag_volatile_type didn't. Make sure that both cv-qualifiers that apply to array types are handled the same. gdb/ChangeLog * dwarf2read.c (add_array_cv_type): New function. (read_tag_const_type): Call add_array_cv_type for TYPE_CODE_ARRAY. (read_tag_volatile_type): Likewise. gdb/testsuite/ChangeLog * gdb.base/constvars.c (violent, violet, vips, virgen, vulgar, vulture, vilify, villar): New volatile array constants. (vindictive, vegetation): New const volatile array constants. * gdb.base/volatile.exp: Test volatile and const volatile array types.
2014-07-01use cmd_sfunc_ftype and cmd_cfunc_ftype moreTom Tromey5-19/+27
This patch changes a few more spots to use either cmd_sfunc_ftype or cmd_cfunc_ftype, as appropriate. This is a bit cleaner. Tested by rebuilding. 2014-07-01 Tom Tromey <tromey@redhat.com> * breakpoint.c (add_catch_command): Use cmd_sfunc_ftype. * breakpoint.h (add_catch_command): Use cmd_sfunc_ftype. * cli/cli-decode.c (cmd_cfunc_eq, add_cmd, add_prefix_cmd) (add_abbrev_prefix_cmd, add_info, add_com): Use cmd_cfunc_ftype. * command.h (cmd_cfunc_ftype): Move earlier. (add_cmd, add_prefix_cmd, add_abbrev_prefix_cmd, cmd_cfunc_eq) (add_com, add_info): Use cmd_cfunc_ftype.
2014-07-01Reorganise struct bfdAlan Modra6-125/+124
for better packing. Removes a field and a flag that are never set. bfd/ * bfd.c (struct bfd): Reorganise for better packing. Delete "ifd" field. Make "format", "direction" and "flags" bitfields. (HAS_LOAD_PAGE): Delete, renumber following flags. * bfd-in2.h: Regenerate. * coff-tic4x.c: Remove HAS_LOAD_PAGE from extra flags in target vecs. binutils/ * objdump.c (dump_bfd_header): Don't print HAS_LOAD_PAGE.
2014-07-01Add symbols for global entry stub, and report statsAlan Modra4-29/+72
The undefined function symbols (with non-zero value) on global entry stubs are discarded by objdump when disassembling, so give objdump another symbol to mark the stubs. Also fixes a couple of bugs: - entry_section was set to .opd for ELFv2, which meant a hard error rather than a warning when _start wasn't defined. - global entry stubs were not built if they were the only type of stub in an executable. bfd/ * elf64-ppc.c (ppc_stub_type): Add ppc_stub_global_entry. (struct ppc_link_hash_table): Increase size of stub_count array. (build_global_entry_stubs): Emit symbol on global entry stub. (ppc64_elf_build_stubs): NULL check htab->brlt. Add global entry stub stats. ld/ * emultempl/ppc64elf.em (stub_added): Delete. (gld${EMULATION_NAME}_finish): Call ppc64_elf_build_stubs even when none of the usual stubs have been added. Only change entry_section for ELFv1.
2014-07-01Don't include sys/param.hAlan Modra3-23/+8
sys/param.h on recent versions of powerpc glibc ends up including asm/elf.h via asm/sigcontex.h. asm/elf.h defines R_PPC_* and R_PPC64_* macros, which clash with our include/elf/ppc.h and include/elf/ppc64.h. It turns out that no current source uses LD_PATHMAX, so there is no need for limits.h or sys/param.h, except for one occurrence of UINT_MAX. I don't have a quarrel with limits.h, but it seems unnecessary just for UINT_MAX. * sysdep.h: Don't include limits.h and sys/param.h. Don't include unistd.h twice. (LD_PATHMAX): Don't define. * ldlang.c (lang_common): Don't use UINT_MAX.
2014-07-01Linker foreign output format support for PowerPC64 ELFv2Alan Modra2-19/+61
Makes the ld srec tests pass. Uses a horrible scan through symbols to find ELF fields for symbol definitions, but the generic linker doesn't offer anything better. Might be slow. Anyway, sane people will link to ELF output then objcopy to convert formats. * elf64-ppc.c (abiversion, set_abiversion): Move earlier. (ppc64_elf_branch_reloc): Adjust addend for ELFv2 local offset. (ppc64_elf_set_toc): Set ".TOC." symbol value when using generic linker. (ppc64_elf_relocate_section): Disable ELFv2 function entry optimisation when --traditional-format.
2014-07-01Add support for the AVR Tiny series of microcontrollers.Barney Stratford23-174/+658
* archures.c: add avrtiny architecture for avr target. * bfd-in2.h: Regenerate. * cpu-avr.c (arch_info_struct): add avrtiny arch info. * elf32-avr.c (elf_avr_howto_table): new relocation R_AVR_LDS_STS_16 added for 16 bit LDS/STS instruction of avrtiny arch. (avr_reloc_map): reloc R_AVR_LDS_STS_16 is mapped to BFD_RELOC_AVR_LDS_STS_16. (bfd_elf_avr_final_write_processing): select machine number avrtiny arch. (elf32_avr_object_p): set machine number for avrtiny arch. * libbfd.h: Regenerate. * reloc.c: Add documentation for BFD_RELOC_AVR_LDS_STS_16 reloc. * config/tc-avr.c (mcu_types): Add avrtiny arch. Add avrtiny arch devices attiny4, attiny5, attiny9, attiny10, attiny20 and attiny40. (md_show_usage): Add avrtiny arch in usage message. (avr_operand): validate and issue error for invalid register for avrtiny. add new reloc exp for 16 bit lds/sts instruction. (md_apply_fix): check 16 bit lds/sts operand for out of range and encode. (md_assemble): check ISA for arch and issue diagnostic. * include/elf/avr.h (E_AVR_MACH_AVRTINY): define avrtiny machine number. (R_AVR_LDS_STS_16): define 16 bit lds/sts reloc number. * include/opcode/avr.h (AVR_ISA_TINY): define avrtiny specific ISA. (AVR_ISA_2xxxa): define ISA without LPM. (AVR_ISA_AVRTINY): define avrtiny arch ISA. Add doc for contraint used in 16 bit lds/sts. Adjust ISA group for icall, ijmp, pop and push. Add 16 bit lds/sts encoding and update 32 bit lds/sts constraints. * opcodes/avr-dis.c (avr_operand): Handle constraint j for 16 bit lds/sts. (print_insn_avr): do not select opcode if insn ISA is avrtiny and machine is not avrtiny. * Makefile.am (ALL_EMULATION_SOURCES): add avrtiny emulation source. (eavrtiny.c): add rules for avrtiny emulation source. * Makefile.in: Regenerate. * configure.tgt: Add avrtiny to avr target emulations. * scripttempl/avrtiny.sc: New file. linker script template for avrtiny arch. * emulparams/avrtiny.sh: New file. emulation parameters for avrtiny arch.
2014-06-30Sim - Use long int format instead of int to avoid compiling warningMichael Eager2-3/+8
2014-07-01 Chen Gang <gang.chen.5i5j@gmail.com> * sim/microblaze/interp.c: Use long int format instead of int format to avoid compiling warnings.
2014-06-302014-01-07 Michael Eager <eager@eagercon.com>Michael Eager1-1/+2
* dwarf2read.c (read_structure_type): Set stub if ICC & length == 0.
2014-07-01daily updateAlan Modra1-1/+1
2014-06-30constify search_symbolsTom Tromey3-18/+33
This constifies the parameters to search_symbols and fixes up the fallout. Tested by rebuilding. 2014-06-30 Tom Tromey <tromey@redhat.com> * symtab.c (operator_chars): Make parameters and return type const. (file_matches): Make "files" const. (struct search_symbols_data) <files>: Now const. (search_symbols): Make "regexp" and "files" parameters const. Update. (symtab_symbol_info): Remove cast. (rbreak_command): Update. * symtab.h (search_symbols): Update.
2014-06-30watchpoint-reuse-slot.exp: Correctly skip unsupported commands.Andreas Arnez2-1/+12
The test case "watchpoint-reuse-slot.exp" yields a lot of failures on s390/s390x: all instances of awatch, rwatch, and hbreak are performed even though they aren't supported on these targets. This is because the test case ignores non-support error messages when probing for support of these commands, like: (gdb) rwatch buf.byte[0] Target does not support this type of hardware watchpoint. The patch adds handling for this case in the appropriate gdb_test_multiple invocations. gdb/testsuite/ * gdb.base/watchpoint-reuse-slot.exp: Handle the case that the target lacks support for awatch, rwatch, or hbreak.
2014-06-30 lexsup.c (parse_args): Check whether provided SONAME is emptyUlrich Drepper2-1/+17
string. If yes, warn and ignore it. Don't overwrite valid SONAME with empty string.
2014-06-30daily updateAlan Modra1-1/+1
2014-06-28daily updateAlan Modra1-1/+1
2014-06-28Avoid cascading errors due to write_object_file changeAlan Modra2-7/+18
* config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Don't set SYM_MACHO_FIELDS_NOT_VALIDATED after reporting an error. (obj_mach_o_frob_label): Avoid cascading errors. (obj_mach_o_frob_symbol): Don't set SYM_MACHO_FIELDS_NOT_VALIDATED.
2014-06-27Associate dummy_frame with ptidYao Qi13-45/+236
This patch is to add ptid into dummy_frame and extend frame_id to dummy_frame_id (which has a ptid field). With this change, GDB uses dummy_frame_id (thread ptid and frame_id) to find the dummy frames. Currently, dummy frames are looked up by frame_id, which isn't accurate in non-stop or multi-process mode. The test case gdb.multi/dummy-frame-restore.exp shows the problem and this patch can fix it. Test dummy-frame-restore.exp makes two inferiors stop at different functions, say, inferior 1 stops at f1 while inferior 2 stops at f2. Set a breakpoint to a function, do the inferior call in two inferiors, and GDB has two dummy frames of the same frame_id. When the inferior call is finished, GDB will look up a dummy frame from its stack/list and restore the inferior's regcache. Two inferiors are finished in different orders, the inferiors' states are restored differently, which is wrong. Running dummy-frame-restore.exp under un-patched GDB, we'll get two fails: FAIL: gdb.multi/dummy-frame-restore.exp: inf 2 first: after infcall: bt in inferior 2 FAIL: gdb.multi/dummy-frame-restore.exp: inf 2 first: after infcall: bt in inferior 1 With this patch applied, GDB will choose the correct dummy_frame to restore for a given inferior, because ptid is considered when looking up dummy frames. Two fails above are fixed. Regression tested on x86_64-linux, both native and gdbserver. gdb: 2014-06-27 Yao Qi <yao@codesourcery.com> * breakpoint.c (check_longjmp_breakpoint_for_call_dummy): Change parameter type to 'struct thread_info *'. Caller updated. * breakpoint.h (check_longjmp_breakpoint_for_call_dummy): Update declaration. * dummy-frame.c (struct dummy_frame_id): New. (dummy_frame_id_eq): New function. (struct dummy_frame) <id>: Change its type to 'struct dummy_frame_id'. (dummy_frame_push): Add parameter ptid and save it in dummy_frame_id. (pop_dummy_frame_bpt): Use ptid of dummy_frame instead of inferior_ptid. (pop_dummy_frame): Assert that the ptid of dummy_frame equals to inferior_ptid. (lookup_dummy_frame): Change parameter type to 'struct dummy_frame_id *'. Callers updated. Call dummy_frame_id_eq instead of frame_id_eq. (dummy_frame_pop): Add parameter ptid. Callers updated. Update comments. Compose dummy_frame_id and pass it to lookup_dummy_frame. (dummy_frame_discard): Add parameter ptid. (dummy_frame_sniffer): Compose dummy_frame_id and call dummy_frame_id_eq instead of frame_id_eq. (fprint_dummy_frames): Print ptid. * dummy-frame.h: Remove comments. (dummy_frame_push): Add ptid in declaration. (dummy_frame_pop, dummy_frame_discard): Likewise. gdb/testsuite: 2014-06-27 Yao Qi <yao@codesourcery.com> * gdb.multi/dummy-frame-restore.exp: New. * gdb.multi/dummy-frame-restore.c: New. gdb/doc: 2014-06-27 Yao Qi <yao@codesourcery.com> * gdb.texinfo (Maintenance Commands): Update the output of 'maint print dummy-frames' command.
2014-06-27PR external/{16327,16328}: Remove etc/configure.texi and etc/standards.texi.Ludovic Courtès15-9241/+23
etc/ChangeLog 2014-06-27 Ludovic Courtès <ludo@gnu.org> PR external/16327 PR external/16328 * Makefile.in (MAKEINFO, TEXI2DVI, TEXI2PDF, TEXI2HTML, DVIPS) (TEXIDIR, INFOFILES, DVIFILES, PDFFILES, HTMLFILES): Remove. (all): Remove dependency on 'info'. (install): Remove dependency on 'install-info'. (standards.info, standards.html, standards.dvi, standards.ps) (standards.pdf, configure.info, configure.dvi, configure.ps) (configure.pdf, configure.pdf): Remove. (info, install-info, html, install-html, dvi, pdf, install-pdf) clean, maintainer-clean, realclean): Remove body. * etc/configbuild.ein, etc/configbuild.fig, etc/configbuild.jin, etc/configbuild.tin, etc/configdev.ein, etc/configdev.fig, etc/configdev.jin, etc/configdev.tin, etc/configure.texi, etc/fdl.texi, etc/gnu-oids.texi, etc/make-stds.texi, etc/standards.texi: Remove.
2014-06-27Fix undefined symbol errors from mips.ccAlan Modra2-1/+5
* symtab.cc (Symbol::should_add_dynsym_entry): Don't make inline.
2014-06-27daily updateAlan Modra1-1/+1
2014-06-26constify error_no_argTom Tromey3-2/+7
This is a trivial patch to make error_no_arg take a const argument. 2014-06-26 Tom Tromey <tromey@redhat.com> * cli/cli-cmds.c (error_no_arg): Make "why" const. * command.h (error_no_arg): Update.
2014-06-26constify do_set_command and do_show_commandTom Tromey3-7/+15
This changes do_set_command and do_show_command to take const arguments. 2014-06-26 Tom Tromey <tromey@redhat.com> * cli/cli-setshow.c (do_set_command): Make "arg" const. (do_show_command): Make "arg" const. * cli/cli-setshow.h (do_set_command, do_show_command): Update.
2014-06-26constify get_bookmark and goto_bookmarkTom Tromey6-23/+47
This makes arguments to to_get_bookmark and to_goto_bookmark const and fixes the fallout. Tested by rebuilding. The only thing of note is the new split between cmd_record_goto and record_goto -- basically separating the CLI function from a new internal API, to allow const propagation. 2014-06-26 Tom Tromey <tromey@redhat.com> * record-full.c (record_full_get_bookmark): Make "args" const. (record_full_goto_bookmark): Make "raw_bookmark" const. * record.c (record_goto): New function. (cmd_record_goto): Use it. Now static. * record.h (record_goto): Declare. (cmd_record_goto): Remove declaration. * target-delegates.c: Rebuild. * target.h (struct target_ops) <to_get_bookmark, to_goto_bookmark>: Make parameter const.
2014-06-26constify to_loadTom Tromey12-37/+45
This makes the argument to the target_ops to_load method "const", and fixes up the fallout. Tested by rebuilding all the affected files. 2014-06-26 Tom Tromey <tromey@redhat.com> * defs.h (generic_load): Update. * m32r-rom.c (m32r_load_gen): Make "filename" const. * monitor.c (monitor_load): Make "args" const. * remote-m32r-sdi.c (m32r_load): Make "args" const. * remote-mips.c (mips_load_srec, pmon_load_fast): Make "args" const. (mips_load): Make "file" const. * remote-sim.c (gdbsim_load): Make "args" const. * remote.c (remote_load): Make "name" const. * symfile.c (generic_load): Make "args" const. * target-delegates.c: Rebuild. * target.c (target_load): Make "arg" const. (debug_to_load): Make "args" const. * target.h (struct target_ops) <to_load>: Make parameter const. (target_load): Update.
2014-06-26fix memory errors with demangled name hashTom Tromey2-23/+44
This fixes a regression that Jan pointed out. The bug is that some names were allocated by dwarf2read on the objfile obstack, but then passed to SYMBOL_SET_NAMES with copy_name=0. This violates the invariant that the names must have a lifetime tied to the lifetime of the BFD. The fix is to allocate names on the per-BFD obstack. I looked at all callers, direct or indirect, of SYMBOL_SET_NAMES that pass copy_name=0. Note that only the ELF and DWARF readers do this; other symbol readers were never updated (and perhaps cannot be, depending on the details of the formats). This is why the patch is relatively small. Built and regtested on x86-64 Fedora 20. 2014-06-26 Tom Tromey <tromey@redhat.com> PR symtab/16902: * dwarf2read.c (fixup_go_packaging, dwarf2_compute_name) (dwarf2_physname, read_partial_die) (guess_partial_die_structure_name, fixup_partial_die) (guess_full_die_structure_name, anonymous_struct_prefix) (dwarf2_name): Use per-BFD obstack.
2014-06-26This adds the ability to the strings program to display strings that contain ↵Erik Akermann4-2/+36
\n and \r characters. * strings.c: Add -w/--include-all-whitespace option to include any whitespace character in the displayed strings. * NEWS: Mention the new feature. * doc/binutils.texi (strings): Document the new command line option.
2014-06-26Fix a compile time warning on 32-bit hosts.Philippe De Muyter2-3/+8
* or1k-desc.h (spr_field_masks): Add U suffix to the end of long constants.
2014-06-26Change the default behaviour of the PE targeted linker so that timestamps areLinda Zhang5-8/+37
inserted. This is for compatibility with other, non-GNU tools. Deterministic binaries can still be created by using the new --no-insert-timestamp command line option. * emultempl/pe.em: Initialise insert_timestamp to true. Add a --no-insert-timestamp command line option. * emultempl/pep.em: Likewise. * ld.texinfo: Document that --insert-timestamp is enabled by default and that it now has an inverse command line option. * NEWS: Mention the new behaviour.
2014-06-26Fixes part of a problem reading deliberately non-conforming ELF binaries - ↵Nick Clifton2-3/+16
where a note segment is present but no note section. * readelf.c (process_note_sections): If there are no note sections try processing note segments instead.
2014-06-26Move local variables to inner blockYao Qi2-4/+8
dummy_frame_sniffer has two local variables dummyframe and this_id, but they are only used in the if block below. This patch is to move them into the inner block. gdb: 2014-06-26 Yao Qi <yao@codesourcery.com> * dummy-frame.c (dummy_frame_sniffer): Move local variables dummyframe and this_id into inner block below.
2014-06-26Fixes a problem displaying the contents of a binary containing corrupt debugNick Clifton2-4/+25
information, specifically a DW_AT_MIPS_linkage_name attribute that has a numeric value rather than a string value. PR binutils/16949 * dwarf2.c (is_str_attr): New function. (find_abstract_instance_name): Use it to determine when an attribute has a string value.
2014-06-26Typo fix in signal_pass initializationYao Qi2-1/+6
When I read the code, I happen to see this: signal_pass = (unsigned char *) xmalloc (sizeof (signal_program[0]) * numsigs); ^^^^^^^^^^^^^^ It is a typo, and this patch is to fix it. gdb: 2014-06-26 Yao Qi <yao@codesourcery.com> * infrun.c (_initialize_infrun): Replace "signal_program[0]" with "signal_pass[0]" in the initialization of signal_pass.
2014-06-26daily updateAlan Modra1-1/+1
2014-06-25Fixes to allow a toolchain configured with --enable-all to build on a 32-bit ↵Nick Clifton5-6/+24
host. * Makefile.am (ALL_EMULATION_SOURCES): Move ei386pep.c from here... (ALL_64_EMULATION_SOURCES): ... to here. (ALL_EMUL_EXTRA_OFILES): Move pep-dll.o from here... (ALL_64_EMUL_EXTRA_OFILES): New. ... to here. * configure.in (EMUL_EXTRA_OFILES): Include ALL_64_EMUL_EXTRA_OFILES when making a 64-bit enabled build. * Makefile.in: Regenerate. * configure: Regenerate.
2014-06-25ld/arm: adjust offsets in tls-gdierelax2.dKyle McMartin2-4/+8
Addition of DF_STATIC_TLS in eea6dad2 results in the addition of flags to the dynamic section, which in turn changes these addresses. Fix them up to match their new positions. ld/testsuite/Changelog: 2014-06-24 Kyle McMartin <kyle@redhat.com> * ld-arm/tls-gdierelax2.d: Fix expected offsets.
2014-06-25btrace: pretend we're not replaying when generating a core fileMarkus Metzger4-3/+83
When generating a core file using the "generate-core-file" command while replaying with the btrace record target, we won't be able to access all registers and all memory. This leads to the following assertion: gdb/regcache.c:1034: internal-error: regcache_raw_supply: Assertion `regnum >= 0 && regnum < regcache->descr->nr_raw_registers' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) FAIL: gdb.btrace/gcore.exp: generate-core-file core (GDB internal error) Resyncing due to internal error. Pretend that we are not replaying while generating a core file. This will forward fetch and store registers as well as xfer memory calls to the target beneath. gdb/ * record-btrace.c (record_btrace_generating_corefile) (record_btrace_prepare_to_generate_core) (record_btrace_done_generating_core): New. (record_btrace_xfer_partial, record_btrace_fetch_registers) (record_btrace_store_registers, record_btrace_prepare_to_store): Forward request when generating a core file. (record_btrace_open): Set record_btrace_generating_corefile to zero. (init_record_btrace_ops): Set to_prepare_to_generate_core and to_done_generating_core. testsuite/ * gdb.btrace/gcore.exp: New.
2014-06-25gcore, target: allow target to prepare/cleanup for/after core file generationMarkus Metzger5-5/+95
Add new target functions to_prepare_to_generate_core and to_done_generating_core that are called before and after generating a core file, respectively. This allows targets to prepare for core file generation and to clean up afterwards. gdb/ * target.h (target_ops) <to_prepare_to_generate_core> <to_done_generating_core>: New. (target_prepare_to_generate_core, target_done_generating_core): New. * target.c (target_prepare_to_generate_core) (target_done_generating_core): New. * target-delegates.c: Regenerate. * gcore.c: (write_gcore_file): Rename to ... (write_gcore_file_1): ...this. (write_gcore_file): Call target_prepare_to_generate_core and target_done_generating_core.
2014-06-25make_corefile_notes: have caller free returned memoryMarkus Metzger5-3/+13
The various make_corefile_notes implementations for gdbarch as well as target currently make an xfree cleanup on the data they return. This causes problems when trying to put a TRY_CATCH around the make_corefile_notes call. Specifically, we get a stale cleanup error in restore_my_cleanups. Omit the make_cleanup and have the caller free the memory. gdb/ * fbsd-nat.c (fbsd_make_corefile_notes): Remove make_cleanup call. * gcore.c (write_gcore_file): Free memory returned from make_corefile_notes. * linux-tdep.c (linux_make_corefile_notes): Remove make_cleanup call. * procfs.c (procfs_make_note_section): Remove make_cleanup call.
2014-06-25daily updateAlan Modra1-1/+1
2014-06-24Fix dwp to allow intermediate .dwp files with no .debug_types sections.Cary Coutant2-4/+15
gold/ * dwp.cc (Dwo_file::read): Allow files with no .debug_types sections. (Dwo_file::sized_read_unit_index): Likewise.
2014-06-24Minor improvements in manual indexing.Eli Zaretskii2-0/+7
* doc/gdb.texinfo (Screen Size): Add more index entries.
2014-06-24Don't strip section defining _SDA_BASE_Alan Modra2-3/+22
Prior to 93d1b056 _SDA_BASE_ used to be defined in a linker script output section. Now _SDA_BASE_ is defined in an input section that is subject to being stripped. If the section is stripped we don't output the symbol, which results in --emit-relocs trying to emit relocs with dangling references to _SDA_BASE_. * elf32-ppc.c (ppc_elf_size_dynamic_sections): Arrange to keep .sdata/.sdata2 when _SDA_BASE_/_SDA2_BASE_ should be output for --emit-relocs.
2014-06-24Skip 'bx reg' on arm-linuxYao Qi2-1/+21
In arm-tdep.c, arm_skip_stub is installed to gdbarch skip_trampoline_code, but in arm-linux-tdep.c, find_solib_trampoline_target is installed to skip_trampoline_code. That means gdb configured for arm-linux target doesn't recognize some arm specific trampolines or stubs. Beside handling generic solib trampoline, gdb for arm-linux target should be able to handle arm specific trampolines. This patch is to skip arm specific stubs, if any, and as a fallback, skip the generic solib trampoline. gdb: 2014-06-24 Yao Qi <yao@codesourcery.com> * arm-linux-tdep.c (arm_linux_skip_trampoline_code): New. (arm_linux_init_abi): Set skip_trampoline_code with gdbarch_skip_trampoline_code instead of find_solib_trampoline_target.
2014-06-24Apply stub unwinder to 'bx reg' trampolineYao Qi2-1/+13
In target arm-none-eabi, prologue unwinder is used for trampoline 'bx reg'. However, in target arm-linux, exidx unwinder is selected for trampoline at first, which is not expected. The main function and the trampoline is, 0x00009dfc <main+0>: push {r4, r5, r6, r7, lr} ...... 0x0000ac30 <main+3636>: ldrdeq r3, [r1], -r8 0x0000ac34: bx r2 0x0000ac36: bx r4 and .ARM.exidx is: 0x9dfc <main>: @0xb404 Compact model index: 1 0x97 vsp = r7 0x20 vsp = vsp + 132 0x3f vsp = vsp + 256 0x80 0xf0 pop {r8, r9, r10, r11} 0xab pop {r4, r5, r6, r7, r14} 0xac38 <__aeabi_drsub>: 0x1 [cantunwind] Trampolines 'bx r2' and 'bx r4' doesn't belong to main, but the exidx for main is still selected form them because there is no end address of each exidx entry. Instead of teaching exidx unwinder ignore this trampoline (which looks complicated and error prone), I decide to let stub unwinder to handle trampoline, because stub undwinder is installed before exidx unwinder, and this trampoline can be regarded as a stub too. This patch is to add the code to match 'bx reg' trampoline in the sniffer of stub unwinder. gdb: 2014-06-24 Yao Qi <yao@codesourcery.com> * arm-tdep.c (arm_stub_unwind_sniffer): Return 1 if arm_skip_bx_reg returns non-zero.
2014-06-24Skip 'bx reg' trampoline on arm-none-eabiYao Qi2-1/+72
After this patch <https://gcc.gnu.org/ml/gcc-patches/2005-01/msg00813.html> applied to GCC, a new trampoline is generated but GDB doesn't recognize it. This patch is to teach GDB to understand this trampoline. See details about this trampoline and the heuristics in the comments. gdb: 2014-06-24 Yao Qi <yao@codesourcery.com> * arm-tdep.c (arm_skip_bx_reg): New function. (arm_skip_stub): Call arm_skip_bx_reg.
2014-06-24daily updateAlan Modra1-1/+1