OSDN Git Service
palves [Fri, 18 Mar 2011 18:38:38 +0000 (18:38 +0000)]
gdb/
* regcache.h (regcache_raw_read, regcache_raw_read_signed)
(regcache_raw_read_unsigned, regcache_raw_read_signed)
(regcache_raw_read_unsigned, regcache_raw_read_part)
(regcache_cooked_read, regcache_cooked_read_signed)
(regcache_cooked_read_unsigned, regcache_cooked_read_part)
(regcache_cooked_read_ftype): Change return to enum
register_status.
* regcache.c: Include exceptions.h
(regcache_save): Adjust to handle REG_UNAVAILABLE registers.
(do_cooked_read): Change return to enum register_status. Always
forward to regcache_cooked_read.
(regcache_raw_read): Change return to enum register_status. If
the register is not REG_VALID, memset the buffer. Return the
register's status.
(regcache_raw_read_signed): Handle non-REG_VALID registers and
return the register's status.
(regcache_raw_read_unsigned): Ditto.
(regcache_cooked_read): Change return to enum register_status.
Assert that with read-only regcaches, the register's status must
be known. If the regcache is read-only, and the register is not
REG_VALID, memset the buffer. Return the register's status.
(regcache_cooked_read_signed): Change return to enum
register_status. Handle non-REG_VALID registers and return the
register's status.
(regcache_cooked_read_unsigned): Change return to enum
register_status. Handle non-REG_VALID registers and return the
register's status.
(regcache_xfer_part, regcache_raw_read_part)
(regcache_cooked_read_part): Change return to enum
register_status. Return the register's status.
(regcache_read_pc): Throw NOT_AVAILABLE_ERROR if the register is
unavailable.
(regcache_dump): Handle unavailable cooked registers.
* frame.c (do_frame_register_read): Adjust interface to match
regcache_cooked_read_ftype.
* gdbarch.sh (pseudo_register_read): Change return to enum
register_status.
* gdbarch.h, gdbarch.c: Regenerate.
* i386-tdep.h (i386_pseudo_register_read): Change return to enum
register_status.
* i386-tdep.c (i386_pseudo_register_read): Change return to enum
register_status. If reading a raw register indicates the raw
register is not valid, return the raw register's status,
otherwise, return REG_VALID.
* amd64-tdep.c (amd64_pseudo_register_read): Change return to enum
register_status. Handle non-REG_VALID raw registers and return
the register's status.
* arm-tdep.c (arm_neon_quad_read)
(arm_pseudo_read): Change return to enum register_status. Handle
non-REG_VALID raw registers and return the register's status.
* avr-tdep.c (avr_pseudo_register_read): Ditto.
* frv-tdep.c (frv_pseudo_register_read): Ditto.
* h8300-tdep.c (h8300_pseudo_register_read): Ditto.
* hppa-tdep.c (hppa_pseudo_register_read): Ditto.
* m32c-tdep.c (m32c_move_reg_t): Change return to enum
register_status.
(m32c_raw_read, m32c_raw_write, m32c_banked_read)
(m32c_banked_write, m32c_sb_read, m32c_sb_write, m32c_part_read)
(m32c_part_write, m32c_cat_read, m32c_cat_write)
(m32c_r3r2r1r0_read, m32c_r3r2r1r0_write)
(m32c_pseudo_register_read): Change return to enum
register_status. Adjust.
* m68hc11-tdep.c (m68hc11_pseudo_register_read): Change return to
enum register_status. Return the register's status.
* mep-tdep.c (mep_pseudo_cr32_read): Change return to enum
register_status. Return the register's status.
(mep_pseudo_cr64_read, mep_pseudo_register_read): Ditto.
* mips-tdep.c (mips_pseudo_register_read): Ditto.
* mt-tdep.c (mt_pseudo_register_read): Ditto.
* rs6000-tdep.c (move_ev_register_func): New typedef.
(e500_move_ev_register): Use it. Change return to enum
register_status. Return the register's status.
(do_regcache_raw_read): New function.
(do_regcache_raw_write): New function.
(e500_pseudo_register_read): Change return to enum
register_status. Return the register's status. Use
do_regcache_raw_read.
(e500_pseudo_register_write): Adjust. Use do_regcache_raw_write.
(dfp_pseudo_register_read): Change return to enum register_status.
Return the register's status.
(vsx_pseudo_register_read): Ditto.
(efpr_pseudo_register_read): Ditto.
(rs6000_pseudo_register_read): Ditto.
* s390-tdep.c (s390_pseudo_register_read): Change return to enum
register_status. Return the register's status.
* sh64-tdep.c (pseudo_register_read_portions): New function.
(sh64_pseudo_register_read): Change return to enum
register_status. Use pseudo_register_read_portions. Return the
register's status.
* ia64-tdep.c (ia64_pseudo_register_read): Change return to enum
register_status. Return the register's status.
* sh-tdep.c (pseudo_register_read_portions): New function.
(sh_pseudo_register_read): Change return to enum register_status.
Use pseudo_register_read_portions. Return the register's status.
* sparc-tdep.c (sparc32_pseudo_register_read): Change return to
enum register_status. Return the register's status.
* sparc64-tdep.c (sparc64_pseudo_register_read): Ditto.
* spu-tdep.c (spu_pseudo_register_read_spu)
(spu_pseudo_register_read): Ditto.
* xtensa-tdep.c (xtensa_register_read_masked)
(xtensa_pseudo_register_read): Ditto.
* bfin-tdep.c (bfin_pseudo_register_read): Ditto.
corinna [Fri, 18 Mar 2011 18:16:36 +0000 (18:16 +0000)]
* cygwin.sc: Raise default cygheap size to 2 Megs.
dje [Fri, 18 Mar 2011 17:44:45 +0000 (17:44 +0000)]
* config.guess: Update to version 2011-02-02
* config.sub: Update to version 2011-02-24
dje [Fri, 18 Mar 2011 17:43:20 +0000 (17:43 +0000)]
* config.guess: Update to version 2011-02-02
* config.sub: Update to version 2011-02-24
muller [Fri, 18 Mar 2011 16:09:54 +0000 (16:09 +0000)]
* python/py-value.c (valpy_getitem): Fix formatting of error function
call.
corinna [Fri, 18 Mar 2011 14:42:30 +0000 (14:42 +0000)]
Fix typo.
cgf [Fri, 18 Mar 2011 14:25:32 +0000 (14:25 +0000)]
* fhandler.h (DEFAULT_PIPEBUFSIZE): Reset to 64K.
muller [Fri, 18 Mar 2011 14:22:29 +0000 (14:22 +0000)]
ARI fixes: Add missing internationalization markups throughout
C source files.
* darwin-nat-info.c: Ditto.
* record.c: Ditto.
* remote.c: Ditto.
* mi/mi-main.c: Ditto.
corinna [Fri, 18 Mar 2011 13:56:55 +0000 (13:56 +0000)]
* mmap.cc (mmap_record::alloc_fh): Initialize nmae strings in fdev to
empty strings or suffer a SEGV. Drop second parameter in call to
build_fh_dev.
muller [Fri, 18 Mar 2011 13:51:37 +0000 (13:51 +0000)]
ARI fixes: Add missing internationalization markups throughout
yacc files.
* c-exp.y: Ditto.
* cp-name-parser.y: Ditto.
* f-exp.y: Ditto.
* m2-exp.y: Ditto.
* objc-exp.y: Ditto.
* p-exp.y: Ditto.
corinna [Fri, 18 Mar 2011 13:42:03 +0000 (13:42 +0000)]
* mmap.cc (class mmap_record): Pack 4 byte-aligned. Convert member dev
to plain int.
(mmap_record::alloc_fh): Create temporary device from dev and use in
call to build_fh_dev.
corinna [Fri, 18 Mar 2011 13:38:34 +0000 (13:38 +0000)]
* mmap.cc (mmap_record::page_map): Define as variable array rather than
as pointer.
(mmap_record::alloc_page_map): Remove.
(mmap_record::free_page_map): Remove.
(mmap_record::init_page_map): New method.
(mmap_record::add_record): Take mmap_record parameter by reference
rather than by value.
(mmap_record::map_pages): Fix comment.
(mmap_list::add_record): Allocate space for mmap_record including the
page_map in a single ccalloc call. Call init_page_map afterwards.
(mmap_list::del_record): Remove call to mmap_record::free_page_map.
muller [Fri, 18 Mar 2011 13:09:46 +0000 (13:09 +0000)]
ARI fixes: Messages should have no trailing new lines.
* darwin-nat.c (mach_check_error): Remove trailing new line from
warning function call message.
* record.c (bfdcore_read): Idem for error call.
muller [Fri, 18 Mar 2011 13:08:47 +0000 (13:08 +0000)]
Add missing ChangeLog entry
muller [Fri, 18 Mar 2011 13:03:30 +0000 (13:03 +0000)]
* common/signals.c (target_signal_from_host): Add _ markup to error
function call message.
(target_signal_to_host): Add _ markup and remove trailing new line
from warning call message.
(target_signal_from_command): Add _ markup to error function call
message.
* gdbserver/server.h (Macro _): Define it if not available.
amodra [Fri, 18 Mar 2011 11:21:33 +0000 (11:21 +0000)]
* config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
on .size expression errors rather than symbols in the size expression.
amodra [Fri, 18 Mar 2011 11:16:27 +0000 (11:16 +0000)]
gas/
* input-scrub.c (line_numberT): Delete.
(input_scrub_close): Reset line counters.
* messages.c (as_show_where): Don't print invalid line number.
(as_warn_internal, as_bad_internal): Likewise.
gas/testsuite/
* gas/elf/bad-size.err: Adjust expected error.
* gas/i386/bad-size.warn: Likewise.
* gas/i386/inval-equ-2.l: Likewise.
* gas/symver/symver2.l: Likewise.
amodra [Fri, 18 Mar 2011 10:46:51 +0000 (10:46 +0000)]
* read.c (read_a_source_file): Remove md_after_pass_hook.
Move "quit" label before set of dot_symbol.
* config/tc-d10v.h (md_after_pass_hook): Don't define.
* config/tc-d30v.h (md_after_pass_hook): Likewise.
* config/tc-m32r.h (md_after_pass_hook): Likewise.
(md_cleanup): Define to call m32r_fill_insn.
krebbel [Fri, 18 Mar 2011 09:54:57 +0000 (09:54 +0000)]
2011-03-18 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
* config/tc-s390.c (md_parse_option): Add -march=all option which
switches to the highest available CPU.
pmuldoon [Fri, 18 Mar 2011 08:44:44 +0000 (08:44 +0000)]
2011-03-18 Phil Muldoon <pmuldoon@redhat.com>
PR python/12149
* python/python.c (gdbpy_write): Accept a stream argument and
operate to the appropriate stream.
(gdbpy_flush): Likewise.
(_initialize_python): Add stream constants.
(finish_python_initialization): Add GdbOutputErrorFile class.
2011-03-18 Phil Muldoon <pmuldoon@redhat.com>
PR python/12149
* gdb.texinfo (Basic Python): Update gdb.write and flush text.
2011-03-18 Phil Muldoon <pmuldoon@redhat.com>
PR python/12149
* gdb.python/python.exp: Add gdb.write tests.
kcy [Fri, 18 Mar 2011 00:42:24 +0000 (00:42 +0000)]
2011-03-18 Kwok Cheung Yeung <kcy@codesourcery.com>
* MAINTAINERS: Add myself as a write-after-approval maintainer.
kcy [Fri, 18 Mar 2011 00:27:47 +0000 (00:27 +0000)]
Fix relocation of jump and call instructions (used when inserting fast
tracepoints).
2011-03-18 Kwok Cheung Yeung <kcy@codesourcery.com>
* amd64-tdep.c (amd64_relocate_instruction): Fix ordering of arguments
to store_signed_integer. Add debug message when relocating CALL
instructions. Fix formatting of debug message.
* i386-tdep.c (i386_relocate_instruction): Ditto.
gdbadmin [Fri, 18 Mar 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Thu, 17 Mar 2011 23:00:06 +0000 (23:00 +0000)]
daily update
vapier [Thu, 17 Mar 2011 19:03:30 +0000 (19:03 +0000)]
sim: bfin: check for kill/pread
If the host system (like Windows) doesn't support these functions,
then make sure we don't use them.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
brobecke [Thu, 17 Mar 2011 13:19:23 +0000 (13:19 +0000)]
delete target_ops.to_lookup_symbol
gdb/ChangeLog:
* target.h (struct target_ops): Remove to_lookup_symbol field.
(target_lookup_symbol): Delete macro.
* target.c (nosymbol, debug_to_lookup_symbol): Delete.
(update_current_target, setup_target_debug): Remove handling
of to_lookup_symbol target_ops field.
* ada-tasks.c (get_known_tasks_addr): Remove use of
target_lookup_symbol.
* coffread.c (coff_symtab_read): Likewise.
* dbxread.c (read_dbx_symtab): Ditto.
brobecke [Thu, 17 Mar 2011 13:19:07 +0000 (13:19 +0000)]
Add 'getthrds' declaration check in configure for AIX
On newer versions of AIX (6.x and later), this function is actually
declared in procinfo.h, thus causing a compilation warning when we
re-declare it ourselves. This patch adds a configure check for that
function allowing us to declare the function only if the declaration
isn't already present in one of procinfo system header.
gdb/ChangeLog:
PR gdb/12116:
* configure.ac: Add getthrds declaration check.
* configure, config.in: Regenerate.
* aix-thread.c (getthrds): Declare only if not already declared
in procinfo.h. More declaration out of get_signaled_thread to
global scope.
hjl [Thu, 17 Mar 2011 13:16:43 +0000 (13:16 +0000)]
Add a testase for PR gas/12589.
2011-03-17 H.J. Lu <hongjiu.lu@intel.com>
PR gas/12589
* gas/i386/pr12589-1.d: New.
* gas/i386/pr12589-1.s: Likewise.
* gas/i386/i386.exp: Run pr12589-1.
amodra [Thu, 17 Mar 2011 12:56:35 +0000 (12:56 +0000)]
PR 12590
* ar.c (ranlib_main): Init arg_index properly.
(usage): Describe --target.
amodra [Thu, 17 Mar 2011 10:59:29 +0000 (10:59 +0000)]
PR 12569
* expr.c (operand): Correct passing of "mode" to expr.
* read.c (do_org): Allow expr_section.
(get_known_segmented_expression): Don't assert anything about the
segment.
pmuldoon [Thu, 17 Mar 2011 09:36:14 +0000 (09:36 +0000)]
2011-03-17 Phil Muldoon <pmuldoon@redhat.com>
* python/py-symtab.c: Populate symtab_object_methods,
sal_object_methods.
(stpy_is_valid): New function.
(salpy_is_valid): Ditto.
* python/py-symbol.c: Declare symbol_object_methods.
Populate.
(sympy_is_valid): New function.
* python/py-objfile.c: Declare objfile_object_methods.
Populate.
(objfpy_is_valid): New function.
* python/py-inferior.c: Populate inferior_object_methods.
(infpy_is_valid): New function.
* python/py-infthread.c: Populate thread_object_methods.
(thpy_is_valid): New function.
* python/py-block.c: Declare block_object_methods.
Populate. Declare
block_iterator_object_methods. Populate.
(blpy_is_valid): New function.
(blpy_iter_is_valid): Ditto.
2010-03-17 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/Makefile.in: Add py-objfile.
* gdb.python/py-objfile.exp: New file.
* gdb.python/py-objfile.c: New file.
* gdb.python/py-block.exp: Add is_valid tests.
* gdb.python/py-inferior.exp: Ditto.
* gdb.python/py-infthread.exp: Ditto.
* gdb.python/py-symbol.exp: Ditto.
* gdb.python/py-symtab.exp: Ditto.
2011-03-17 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Blocks In Python): Add is_valid method
description.
(Inferiors In Python): Likewise.
(Threads In Python): Likewise.
(Symbols In Python): Likewise.
(Objfiles In Python): Likewise.
(Symbol Tables In Python): Likewise.
corinna [Thu, 17 Mar 2011 08:40:23 +0000 (08:40 +0000)]
* crt0.c (mainCRTStartup): Move call to _feinitialise from here...
* dcrt0.cc (_dll_crt0): ...to here.
gdbadmin [Thu, 17 Mar 2011 00:00:33 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Wed, 16 Mar 2011 23:00:06 +0000 (23:00 +0000)]
daily update
kseitz [Wed, 16 Mar 2011 21:12:11 +0000 (21:12 +0000)]
* linespec.c (find_methods): Canonicalize NAME before looking
up the symbol.
(name_end): New function.
(keep_name_info): New function.
(decode_line_1): Use keep_name_info.
(decode_compound): Likewise.
* cli/cli-utils.h (remove_trailing_whitespace): New function.
* cli/cli-utils.c (remove_trailing_whitespace): Likewise.
PR c++/12273
* linespec.c (locate_first_half): Keep overload information, too.
(decode_compound): Use a string to represent break characters
to escape the loop.
If P points to a break character, do not increment it.
For C++ and Java, keep overload information and relevant keywords.
If we cannot find a symbol, search the minimal symbols.
PR c++/11734
* linespec.c (decode_compound): Rename SAVED_ARG to
THE_REAL_SAVED_ARG.
Make a copy of THE_REAL_SAVED_ARG in SAVED_ARG and strip
single-quotes.
Pass a valid block to lookup_symbol.
(lookup_prefix_sym): Likewise.
(find_method): Construct search name based on SYM_CLASS instead
of SAVED_ARG.
* psymtab.c (lookup_partial_symbol): Add language parameter.
(lookup_symbol_aux_psymtabs): Likewise.
Don't assume that the psymtab we found was the right one. Search
for the desired symbol in the symtab to be certain.
(psymtab_search_name): New function.
(lookup_partial_symbol): Use psymtab_search_name.
Add language parameter.
(read_symtabs_for_function): Add language parameter and pass to
lookup_partial_symbol.
(find_symbol_file_from_partial): Likewise.
corinna [Wed, 16 Mar 2011 21:10:50 +0000 (21:10 +0000)]
* winver.rc: Fix copyright dates.
kseitz [Wed, 16 Mar 2011 21:08:56 +0000 (21:08 +0000)]
PR c++/12273
* gdb.cp/cmpd-minsyms.exp: New test.
* gdb.cp/cmpd-minsyms.cc: New file.
PR c++/11734
* gdb.cp/ovsrch.exp: New test.
* gdb.cp/ovsrch.h: New file.
* gdb.cp/ovsrch1.cc: New file.
* gdb.cp/ovsrch2.cc: New file.
* gdb.cp/ovsrch3.cc: New file.
* gdb.cp/ovsrch4.cc: New file.
ppluzhnikov [Wed, 16 Mar 2011 18:16:26 +0000 (18:16 +0000)]
ChangeLog:
2011-03-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/12528
* dwarf2read.c (noop_record_line): New function.
(dwarf_decode_lines): Ignore line tables for GCd functions.
testsuite/ChangeLog:
2011-03-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/12528
* gdb.base/Makefile.in: Adjust EXECUTABLES.
* gdb.base/break-on-linker-gcd-function.exp: New test.
* gdb.base/break-on-linker-gcd-function.cc: New file.
ppluzhnikov [Wed, 16 Mar 2011 18:15:10 +0000 (18:15 +0000)]
ChangeLog:
2011-03-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/12528
* dwarf2read.c (noop_record_line): New function.
(dwarf_decode_lines): Ignore line tables for GCd functions.
testsuite/ChangeLog:
2011-03-16 Paul Pluzhnikov <ppluzhnikov@google.com>
PR gdb/12528
* gdb.base/Makefile.in: Adjust EXECUTABLES.
* gdb.base/break-on-linker-gcd-function.exp: New test.
* gdb.base/break-on-linker-gcd-function.cc: New file.
muller [Wed, 16 Mar 2011 17:58:59 +0000 (17:58 +0000)]
Fix ARI warnings about new lines at the end of messages, which
are unneeded as there is a new line added at the end of the message
automatically.
* darwin-nat.c (darwin_stop_inferior): Ditto.
* dec-thread.c (dec_thread_get_ada_task_ptid): Ditto.
* dfp.c (decimal_to_number): Ditto.
* exec.c (print_section_info): Ditto.
* i386-darwin-nat.c (darwin_set_sstep): Ditto.
* osdata.c (get_osdata): Ditto.
* record.c (bfdcore_write): Ditto.
* remote-mips.c (mips_readchar): Ditto.
* remote.c (read_ptid): Ditto.
* ser-mingw.c (ser_windows_raw): Ditto.
* tracepoint.c (add_local_symbols): Ditto.
* windows-nat.c (fake_create_process): Ditto.
tromey [Wed, 16 Mar 2011 15:18:56 +0000 (15:18 +0000)]
* tracepoint.c (stop_tracing): Don't declare.
* event-top.c (after_char_processing_hook): Add `(void)'.
jakub [Wed, 16 Mar 2011 13:00:09 +0000 (13:00 +0000)]
* dwarf.c (dw_TAG_name): Handle DW_TAG_GNU_call_site_parameter.
(read_and_display_attr_value): Handle DW_AT_GNU_call_site_data_value,
DW_AT_GNU_call_site_target and DW_AT_GNU_call_site_target_clobbered.
(get_AT_name): Handle DW_AT_GNU_call_site_value,
DW_AT_GNU_call_site_data_value, DW_AT_GNU_call_site_target,
DW_AT_GNU_call_site_target_clobbered, DW_AT_GNU_tail_call,
DW_AT_GNU_all_tail_call_sites, DW_AT_GNU_all_call_sites and
DW_AT_GNU_all_source_call_sites.
(decode_location_expression) <case DW_OP_GNU_entry_value>: Adjust
handling.
* dwarf.c (get_TAG_name): Handle DW_TAG_GNU_call_site.
(decode_location_expression): Handle DW_OP_GNU_entry_value.
(read_and_display_attr_value): Handle DW_AT_GNU_call_site_value.
(get_AT_name): Likewise.
hjl [Wed, 16 Mar 2011 12:58:24 +0000 (12:58 +0000)]
Add --size-check=[error|warning].
gas/
2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
* as.c (show_usage): Add --size-check=.
(parse_args): Add and handle OPTION_SIZE_CHECK.
* as.h (flag_size_check): New.
* config/obj-elf.c (elf_frob_symbol): Use as_bad to report
bad .size directive only for --size-check=error.
* doc/as.texinfo: Document --size-check=.
gas/testsuite/
2011-03-16 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/bad-size.d: New.
* gas/i386/bad-size.s: Likewise.
* gas/i386/bad-size.warn: Likewise.
* gas/i386/i386.exp: Run bad-size for ELF targets.
pmuldoon [Wed, 16 Mar 2011 09:49:41 +0000 (09:49 +0000)]
2011-03-16 Phil Muldoon <pmuldoon@redhat.com>
* NEWS: Add Parameter sub-classing description.
jakub [Wed, 16 Mar 2011 08:48:47 +0000 (08:48 +0000)]
* dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter,
DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered,
DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites,
DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites,
DW_OP_GNU_entry_value): New.
ktietz [Wed, 16 Mar 2011 08:20:04 +0000 (08:20 +0000)]
2011-03-16 Kai Tietz <ktietz@redhat.com>
* MAINTAINERS: Update my e-mail address.
gdbadmin [Wed, 16 Mar 2011 00:00:32 +0000 (00:00 +0000)]
*** empty log message ***
vapier [Tue, 15 Mar 2011 23:34:29 +0000 (23:34 +0000)]
ld: vers19 test: add -rpath-link
Using -Wl,-rpath,. isn't sufficient for cross-linkers to locate the
necessary libraries. So throw in -Wl,-rpath-link,. to make it work.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
amodra [Tue, 15 Mar 2011 23:00:05 +0000 (23:00 +0000)]
daily update
andreast [Tue, 15 Mar 2011 21:03:42 +0000 (21:03 +0000)]
2011-03-15 Andreas Tobler <andreast@fgznet.ch>
* gdb.base/jit-main.c: Define ElfW for non glibc elf targets.
vapier [Tue, 15 Mar 2011 21:01:44 +0000 (21:01 +0000)]
sim: bfin: add GPIO device simulation
This takes care of the MMR interface and pushing up interrupts.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
andreast [Tue, 15 Mar 2011 21:01:37 +0000 (21:01 +0000)]
2011-03-15 Andreas Tobler <andreast@fgznet.ch>
* MAINTAINERS: Add myself for write after approval privileges.
vapier [Tue, 15 Mar 2011 20:55:11 +0000 (20:55 +0000)]
sim: bfin: fix brace style
vapier [Tue, 15 Mar 2011 20:44:09 +0000 (20:44 +0000)]
sim: bfin: fix brace style
vapier [Tue, 15 Mar 2011 20:10:40 +0000 (20:10 +0000)]
sim: bfin: handle AZ updates with 16bit adds/subs
We weren't updating AZ when doing a 16bit add or sub insn. Implement it.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
vapier [Tue, 15 Mar 2011 20:10:12 +0000 (20:10 +0000)]
sim: bfin: skip acc/ASTAT updates for moves
No point in moving unchanged acc values to the acc regs, and avoid
updating the acc ASTAT bits when only reading. This fixes incorrect
changing of the ASTAT bits when they're only being read.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
vapier [Tue, 15 Mar 2011 20:09:39 +0000 (20:09 +0000)]
sim: bfin: handle AN (negative overflows) in dsp mult insns
The current dsp mult handler does not take care of overflows which turn
values negative (and thus set AN in ASTAT). So implement it.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
vapier [Tue, 15 Mar 2011 20:09:09 +0000 (20:09 +0000)]
sim: bfin: handle V overflows in dsp mult insns
The current dsp mult handler does not take care of overflows and updating
the V ASTAT bit. So implement it.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
vapier [Tue, 15 Mar 2011 20:08:27 +0000 (20:08 +0000)]
sim: bfin: decode ASTAT on failure
When testing ASTAT regs, specific bit differences carry a lot more meaning
than when checking the value of a data register. So automatically decode
the bits of the two values and print things out so that people don't have
to manually do it themselves every time.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
vapier [Tue, 15 Mar 2011 20:04:04 +0000 (20:04 +0000)]
sim: bfin: handle saturation with fract multiplications
The saturation behavior with fract modes differs from non-fract modes.
Signed-off-by: Robin Getz <robin.getz@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
msnyder [Tue, 15 Mar 2011 19:28:56 +0000 (19:28 +0000)]
2011-03-15 Michael Snyder <msnyder@vmware.com>
* frame.c (find_frame_sal): Assert sym is not null.
msnyder [Tue, 15 Mar 2011 19:03:48 +0000 (19:03 +0000)]
2011-03-04 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* dbxread.c (process_one_symbol): Assert 'name' is not null.
msnyder [Tue, 15 Mar 2011 18:07:28 +0000 (18:07 +0000)]
2011-03-04 Michael Snyder <msnyder@msnyder-server.eng.vmware.com>
* objc-lang.c (selectors_info): Check strchr for null result.
msnyder [Tue, 15 Mar 2011 17:54:24 +0000 (17:54 +0000)]
2011-03-04 Michael Snyder <msnyder@vmware.com>
* stabsread.c (define_symbol): Guard against bad stabstring input.
pmuldoon [Tue, 15 Mar 2011 16:41:41 +0000 (16:41 +0000)]
2011-03-15 Phil Muldoon <pmuldoon@redhat.com>
* lib/gdb.exp (gdb_unload): Add another termination case.
muller [Tue, 15 Mar 2011 16:00:54 +0000 (16:00 +0000)]
Remove trailing spaces and tabulations from pascal language
support sources.
p-exp.y: Ditto.
p-lang.c: Ditto.
p-lang.h: Ditto.
p-valprint.c: Ditto.
jkratoch [Tue, 15 Mar 2011 15:57:09 +0000 (15:57 +0000)]
gdb/
* dwarf2read.c (dwarf2_get_pc_bounds): Require HIGH strictly higher
than LOW. Comment it.
(read_partial_die): Call complaint for inappropriate zero LOWPC or
HIGHPC not strictly higher than LOWPC.
gdb/testsuite/
* gdb.dwarf2/dw2-empty-pc-range.S: New file.
* gdb.dwarf2/dw2-empty-pc-range.exp: New file.
* gdb.dwarf2/pr11465.S: New .text labels text_start and text_end.
Provide a stub byte there.
(DW_TAG_compile_unit): Set DW_AT_low_pc, DW_AT_high_pc and
DW_AT_entry_pc.
(dieb4, dieda): Set DW_AT_high_pc higher than DW_AT_low_pc.
muller [Tue, 15 Mar 2011 15:52:02 +0000 (15:52 +0000)]
Fix formatting of function declarations returning a pointer in
previous commit.
* varobj.c (varobj_add_child): Ditto.
* hppa-tdep.h (hppa_init_objfile_priv_data): Ditto.
* inferior.h (get_displaced_step_closure_by_addr): Ditto.
uweigand [Tue, 15 Mar 2011 14:42:31 +0000 (14:42 +0000)]
gdb/
* ppc-sysv-tdep.c (ppc64_sysv_abi_push_dummy_call): Add support
for the "generic" vector ABI used with GCC 4.3 and later.
(ppc64_sysv_abi_return_value): Likewise.
gdb/testsuite:
* gdb.arch/altivec-abi.exp: Skip "generic" tests on 64-bit when
using a GCC 4.1 or 4.2 compiler. Add an additional test variant
"generic ABI, auto".
(altivec_abi_tests): Accept vectors returned by reference.
uweigand [Tue, 15 Mar 2011 14:40:18 +0000 (14:40 +0000)]
* infcall.c (call_function_by_hand): Function return value is
always a non_lval, even when using struct_return.
palves [Tue, 15 Mar 2011 14:05:36 +0000 (14:05 +0000)]
gdb/
* printcmd.c (ALL_DISPLAYS_SAFE): New.
(map_display_numbers): New.
(do_delete_display): New.
(undisplay_command): Use map_display_numbers.
(do_enable_disable_display): New.
(enable_disable_display_command): New function.
(enable_display): Delete.
(enable_display_command): New.
(disable_display_command): Reimplement.
(_initialize_printcmd): Adjust "enable display" command to use
`enable_display_command' as callback.
gdb/doc/
* gdb.texinfo (Auto Display) <undisplay, enable display, disable
display>: Explain that the commands accept number ranges.
vapier [Tue, 15 Mar 2011 03:16:16 +0000 (03:16 +0000)]
sim: common: trim trailing whitespace
vapier [Tue, 15 Mar 2011 00:16:58 +0000 (00:16 +0000)]
gas: blackfin: add support for bf54x-0.4
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
gdbadmin [Tue, 15 Mar 2011 00:00:03 +0000 (00:00 +0000)]
*** empty log message ***
amodra [Mon, 14 Mar 2011 23:00:07 +0000 (23:00 +0000)]
daily update
vapier [Mon, 14 Mar 2011 22:24:30 +0000 (22:24 +0000)]
sim: bfin: forgot to cvs add the changelog
pmuldoon [Mon, 14 Mar 2011 21:45:21 +0000 (21:45 +0000)]
2011-03-14 Phil Muldoon <pmuldoon@redhat.com>
* NEWS: Add Python breakpoint 'stop' operation.
msnyder [Mon, 14 Mar 2011 21:33:20 +0000 (21:33 +0000)]
Fix earlier changelog errors.
msnyder [Mon, 14 Mar 2011 21:26:24 +0000 (21:26 +0000)]
2011-03-14 Michael Snyder <msnyder@vmware.com>
* gdbserver/hostio.c (handle_close): Remove unnecessary null test.
msnyder [Mon, 14 Mar 2011 20:51:59 +0000 (20:51 +0000)]
2011-03-14 Michael Snyder <msnyder@vmware.com>
* objcopy.c (set_pe_subsystem): Free subsystem.
msnyder [Mon, 14 Mar 2011 19:05:39 +0000 (19:05 +0000)]
2011-03-08 Michael Snyder <msnyder@vmware.com>
* wrstabs.c (stab_start_struct_type): Close memory leak.
pmuldoon [Mon, 14 Mar 2011 17:48:49 +0000 (17:48 +0000)]
2011-03-14 Phil Muldoon <pmuldoon@redhat.com>
* NEWS: Delete duplicate entry. Fix typo.
msnyder [Mon, 14 Mar 2011 17:48:30 +0000 (17:48 +0000)]
2011-03-07 Michael Snyder <msnyder@vmware.com>
* readelf.c (process_version_sections): Free symbols.
msnyder [Mon, 14 Mar 2011 17:37:53 +0000 (17:37 +0000)]
2011-03-07 Michael Snyder <msnyder@vmware.com>
* nm.c (display_rel_file): Free symsizes.
muller [Mon, 14 Mar 2011 16:54:56 +0000 (16:54 +0000)]
Fix ARI warning about function names in first column.
Put prototype declaration on same line as return type.
* objc-exp.y: Ditto.
* p-exp.y: Ditto.
* python/py-stopevent.h: Ditto.
For long function names, split parameters to allow function name
on same line as return type.
* solib-pa64.c: Ditto.
* varobj.c: Ditto.
* varobj.h: Ditto.
For long function declaration, use single line.
* hppa-tdep.h: Ditto.
* inferior.h: Ditto.
pmuldoon [Mon, 14 Mar 2011 16:09:52 +0000 (16:09 +0000)]
2011-03-14 Phil Muldoon <pmuldoon@redhat.com>
* gdb.texinfo (Breakpoints In Python): Add description and
example
of Python stop function operation.
2010-03-14 Phil Muldoon <pmuldoon@redhat.com>
* gdb.python/py-breakpoint.exp: Add Python stop operations
tests.
2011-03-14 Phil Muldoon <pmuldoon@redhat.com>
* python/python.h: Declare gdbpy_should_stop and
gdbpy_breakpoint_has_py_cond.
* python/python.c: Add python.h to includes. Remove
python.h from
HAVE_PYTHON definition
(gdbpy_should_stop): New dummy function.
(gdbpy_breakpoint_has_py_cond): New dummy function.
* python/py-breakpoint.c (bppy_init): Rewrite to allow
sub-classing capabilities.
(gdbpy_should_stop): New function.
(gdbpy_breakpoint_has_py_cond): New function.
(local_setattro): New function.
* breakpoint.c (condition_command): Add check for Python
'stop'
operation.
(bpstat_check_breakpoint_conditions): Execute Python
'stop'
operation function as part of stop/continue tests.
rsandifo [Mon, 14 Mar 2011 16:04:16 +0000 (16:04 +0000)]
include/elf/
* arm.h (R_ARM_IRELATIVE): New relocation.
bfd/
* reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
* bfd-in2.h: Regenerate.
* elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
entry.
(elf32_arm_howto_from_type): Update accordingly.
(elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
(elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
(arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
with an extra noncall_refcount field.
(arm_local_iplt_info): New structure.
(elf_arm_obj_tdata): Add local_iplt.
(elf32_arm_local_iplt): New accessor macro.
(elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
Change tls_type to a bitfield and add is_iplt.
(elf32_arm_link_hash_newfunc): Update accordingly.
(elf32_arm_allocate_local_sym_info): New function.
(elf32_arm_create_local_iplt): Likewise.
(elf32_arm_get_plt_info): Likewise.
(elf32_arm_plt_needs_thumb_stub_p): Likewise.
(elf32_arm_get_local_dynreloc_list): Likewise.
(create_ifunc_sections): Likewise.
(elf32_arm_copy_indirect_symbol): Update after the changes to
elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set.
(arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info
to get PLT information. Assert that all STT_GNU_IFUNC references
are turned into PLT references.
(arm_build_one_stub): Pass the symbol type to
elf32_arm_final_link_relocate.
(elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
(elf32_arm_allocate_irelocs): New function.
(elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
all R_ARM_IRELATIVE.
(elf32_arm_allocate_plt_entry): New function.
(elf32_arm_populate_plt_entry): Likewise.
(elf32_arm_final_link_relocate): Add an st_type parameter.
Set srelgot to null for static objects. Use separate variables
to record which st_value and st_type should be used when generating
a dynamic relocation. Use elf32_arm_get_plt_info to find the
symbol's PLT information, setting has_iplt_entry, splt,
plt_offset and gotplt_offset accordingly. Check whether
STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
the relocation target accordingly. Broaden assert to include
.iplts. Don't set sreloc for static relocations. Assert that
we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead
of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
symbol. Pass the symbol type to arm_type_of_stub. Conditionally
resolve GOT references to the .igot.plt entry.
(elf32_arm_relocate_section): Update the call to
elf32_arm_final_link_relocate.
(elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
relocations in shared libraries and relocatable executables.
Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list
to get the list of dynamic relocations for a local symbol.
(elf32_arm_check_relocs): Always create ifunc sections. Set isym
at the same time as setting h. Use elf32_arm_allocate_local_sym_info
to allocate local symbol information. Treat R_ARM_REL32 and
R_ARM_REL32_NOI as call relocations in shared libraries and
relocatable executables. Record PLT information for local
STT_GNU_IFUNC functions as well as global functions. Count
non-call PLT references. Use elf32_arm_get_local_dynreloc_list
to get the list of dynamic relocations for a local symbol.
(elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
Don't remove STT_GNU_IFUNC PLTs unless all references have been
removed. Update after the changes to elf32_arm_link_hash_entry.
(allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
entries should live in .plt or .iplt. Check whether the .igot.plt
and .got entries can be combined. Use elf32_arm_allocate_plt_entry
to allocate .plt and .(i)got.plt entries. Detect which .got
entries will need R_ARM_IRELATIVE relocations and use
elf32_arm_allocate_irelocs to allocate them. Likewise other
non-.got dynamic relocations.
(elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
and dynamic relocations for local STT_GNU_IFUNC symbols.
Check whether the .igot.plt and .got entries can be combined.
Detect which .got entries will need R_ARM_IRELATIVE relocations
and use elf32_arm_allocate_irelocs to allocate them. Use stashed
section pointers intead of strcmp checks. Handle iplt and igotplt.
(elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
to fill in .plt, .got.plt and .rel(a).plt entries. Point
STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
resolve to it.
(elf32_arm_output_plt_map_1): New function, split out from
elf32_arm_output_plt_map. Handle .iplt entries. Use
elf32_arm_plt_needs_thumb_stub_p.
(elf32_arm_output_plt_map): Call it.
(elf32_arm_output_arch_local_syms): Add mapping symbols for
local .iplt entries.
(elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
(elf32_arm_swap_symbol_out): Likewise.
(elf32_arm_add_symbol_hook): New function.
(elf_backend_add_symbol_hook): Define for all targets.
opcodes/
* arm-dis.c (get_sym_code_type): Treat STT_GNU_IFUNCs as code.
gas/
* config/tc-arm.c (md_pcrel_from_section): Use S_FORCE_RELOC to
determine whether a relocation is needed.
(md_apply_fix, arm_apply_sym_value): Likewise.
ld/testsuite/
* ld-arm/ifunc-1.s, ld-arm/ifunc-1.dd, ld-arm/ifunc-1.gd,
ld-arm/ifunc-1.rd, ld-arm/ifunc-2.s, ld-arm/ifunc-2.dd,
ld-arm/ifunc-2.gd, ld-arm/ifunc-2.rd, ld-arm/ifunc-3.s,
ld-arm/ifunc-3.dd, ld-arm/ifunc-3.gd, ld-arm/ifunc-3.rd,
ld-arm/ifunc-4.s, ld-arm/ifunc-4.dd, ld-arm/ifunc-4.gd,
ld-arm/ifunc-4.rd, ld-arm/ifunc-5.s, ld-arm/ifunc-5.dd,
ld-arm/ifunc-5.gd, ld-arm/ifunc-5.rd, ld-arm/ifunc-6.s,
ld-arm/ifunc-6.dd, ld-arm/ifunc-6.gd, ld-arm/ifunc-6.rd,
ld-arm/ifunc-7.s, ld-arm/ifunc-7.dd, ld-arm/ifunc-7.gd,
ld-arm/ifunc-7.rd, ld-arm/ifunc-8.s, ld-arm/ifunc-8.dd,
ld-arm/ifunc-8.gd, ld-arm/ifunc-8.rd, ld-arm/ifunc-9.s,
ld-arm/ifunc-9.dd, ld-arm/ifunc-9.gd, ld-arm/ifunc-9.rd,
ld-arm/ifunc-10.s, ld-arm/ifunc-10.dd, ld-arm/ifunc-10.gd,
ld-arm/ifunc-10.rd, ld-arm/ifunc-11.s, ld-arm/ifunc-11.dd,
ld-arm/ifunc-11.gd, ld-arm/ifunc-11.rd, ld-arm/ifunc-12.s,
ld-arm/ifunc-12.dd, ld-arm/ifunc-12.gd, ld-arm/ifunc-12.rd,
ld-arm/ifunc-13.s, ld-arm/ifunc-13.dd, ld-arm/ifunc-13.gd,
ld-arm/ifunc-13.rd, ld-arm/ifunc-14.s, ld-arm/ifunc-14.dd,
ld-arm/ifunc-14.gd, ld-arm/ifunc-14.rd, ld-arm/ifunc-15.s,
ld-arm/ifunc-15.dd, ld-arm/ifunc-15.gd, ld-arm/ifunc-15.rd,
ld-arm/ifunc-16.s, ld-arm/ifunc-16.dd, ld-arm/ifunc-16.gd,
ld-arm/ifunc-16.rd, ld-arm/ifunc-dynamic.ld,
ld-arm/ifunc-static.ld: New tests.
* ld-arm/farcall-group.d, ld-arm/farcall-group-size2.d,
ld-arm/farcall-mixed-lib-v4t.d, ld-arm/farcall-mixed-lib.d: Update
for new stub hashes.
* ld-arm/arm-elf.exp: Run them.
rsandifo [Mon, 14 Mar 2011 16:04:03 +0000 (16:04 +0000)]
include/elf/
* arm.h (R_ARM_IRELATIVE): New relocation.
bfd/
* reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
* bfd-in2.h: Regenerate.
* elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
entry.
(elf32_arm_howto_from_type): Update accordingly.
(elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
(elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
(arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
with an extra noncall_refcount field.
(arm_local_iplt_info): New structure.
(elf_arm_obj_tdata): Add local_iplt.
(elf32_arm_local_iplt): New accessor macro.
(elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
Change tls_type to a bitfield and add is_iplt.
(elf32_arm_link_hash_newfunc): Update accordingly.
(elf32_arm_allocate_local_sym_info): New function.
(elf32_arm_create_local_iplt): Likewise.
(elf32_arm_get_plt_info): Likewise.
(elf32_arm_plt_needs_thumb_stub_p): Likewise.
(elf32_arm_get_local_dynreloc_list): Likewise.
(create_ifunc_sections): Likewise.
(elf32_arm_copy_indirect_symbol): Update after the changes to
elf32_arm_link_hash_entry. Assert the is_iplt has not yet been set.
(arm_type_of_stub): Add an st_type argument. Use elf32_arm_get_plt_info
to get PLT information. Assert that all STT_GNU_IFUNC references
are turned into PLT references.
(arm_build_one_stub): Pass the symbol type to
elf32_arm_final_link_relocate.
(elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
(elf32_arm_allocate_irelocs): New function.
(elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
all R_ARM_IRELATIVE.
(elf32_arm_allocate_plt_entry): New function.
(elf32_arm_populate_plt_entry): Likewise.
(elf32_arm_final_link_relocate): Add an st_type parameter.
Set srelgot to null for static objects. Use separate variables
to record which st_value and st_type should be used when generating
a dynamic relocation. Use elf32_arm_get_plt_info to find the
symbol's PLT information, setting has_iplt_entry, splt,
plt_offset and gotplt_offset accordingly. Check whether
STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
the relocation target accordingly. Broaden assert to include
.iplts. Don't set sreloc for static relocations. Assert that
we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
and R_ARM_ABS32_NOI. Generate R_ARM_IRELATIVE relocations instead
of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
symbol. Pass the symbol type to arm_type_of_stub. Conditionally
resolve GOT references to the .igot.plt entry.
(elf32_arm_relocate_section): Update the call to
elf32_arm_final_link_relocate.
(elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
information. Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
relocations in shared libraries and relocatable executables.
Count non-call PLT references. Use elf32_arm_get_local_dynreloc_list
to get the list of dynamic relocations for a local symbol.
(elf32_arm_check_relocs): Always create ifunc sections. Set isym
at the same time as setting h. Use elf32_arm_allocate_local_sym_info
to allocate local symbol information. Treat R_ARM_REL32 and
R_ARM_REL32_NOI as call relocations in shared libraries and
relocatable executables. Record PLT information for local
STT_GNU_IFUNC functions as well as global functions. Count
non-call PLT references. Use elf32_arm_get_local_dynreloc_list
to get the list of dynamic relocations for a local symbol.
(elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
Don't remove STT_GNU_IFUNC PLTs unless all references have been
removed. Update after the changes to elf32_arm_link_hash_entry.
(allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
entries should live in .plt or .iplt. Check whether the .igot.plt
and .got entries can be combined. Use elf32_arm_allocate_plt_entry
to allocate .plt and .(i)got.plt entries. Detect which .got
entries will need R_ARM_IRELATIVE relocations and use
elf32_arm_allocate_irelocs to allocate them. Likewise other
non-.got dynamic relocations.
(elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
and dynamic relocations for local STT_GNU_IFUNC symbols.
Check whether the .igot.plt and .got entries can be combined.
Detect which .got entries will need R_ARM_IRELATIVE relocations
and use elf32_arm_allocate_irelocs to allocate them. Use stashed
section pointers intead of strcmp checks. Handle iplt and igotplt.
(elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
to fill in .plt, .got.plt and .rel(a).plt entries. Point
STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
resolve to it.
(elf32_arm_output_plt_map_1): New function, split out from
elf32_arm_output_plt_map. Handle .iplt entries. Use
elf32_arm_plt_needs_thumb_stub_p.
(elf32_arm_output_plt_map): Call it.
(elf32_arm_output_arch_local_syms): Add mapping symbols for
local .iplt entries.
(elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
(elf32_arm_swap_symbol_out): Likewise.
(elf32_arm_add_symbol_hook): New function.
(elf_backend_add_symbol_hook): Define for all targets.
opcodes/
* arm-dis.c (get_sym_code_type): Treat STT_GNU_IFUNCs as code.
gas/
* config/tc-arm.c (md_pcrel_from_section): Use S_FORCE_RELOC to
determine whether a relocation is needed.
(md_apply_fix, arm_apply_sym_value): Likewise.
ld/testsuite/
* ld-arm/ifunc-1.s, ld-arm/ifunc-1.dd, ld-arm/ifunc-1.gd,
ld-arm/ifunc-1.rd, ld-arm/ifunc-2.s, ld-arm/ifunc-2.dd,
ld-arm/ifunc-2.gd, ld-arm/ifunc-2.rd, ld-arm/ifunc-3.s,
ld-arm/ifunc-3.dd, ld-arm/ifunc-3.gd, ld-arm/ifunc-3.rd,
ld-arm/ifunc-4.s, ld-arm/ifunc-4.dd, ld-arm/ifunc-4.gd,
ld-arm/ifunc-4.rd, ld-arm/ifunc-5.s, ld-arm/ifunc-5.dd,
ld-arm/ifunc-5.gd, ld-arm/ifunc-5.rd, ld-arm/ifunc-6.s,
ld-arm/ifunc-6.dd, ld-arm/ifunc-6.gd, ld-arm/ifunc-6.rd,
ld-arm/ifunc-7.s, ld-arm/ifunc-7.dd, ld-arm/ifunc-7.gd,
ld-arm/ifunc-7.rd, ld-arm/ifunc-8.s, ld-arm/ifunc-8.dd,
ld-arm/ifunc-8.gd, ld-arm/ifunc-8.rd, ld-arm/ifunc-9.s,
ld-arm/ifunc-9.dd, ld-arm/ifunc-9.gd, ld-arm/ifunc-9.rd,
ld-arm/ifunc-10.s, ld-arm/ifunc-10.dd, ld-arm/ifunc-10.gd,
ld-arm/ifunc-10.rd, ld-arm/ifunc-11.s, ld-arm/ifunc-11.dd,
ld-arm/ifunc-11.gd, ld-arm/ifunc-11.rd, ld-arm/ifunc-12.s,
ld-arm/ifunc-12.dd, ld-arm/ifunc-12.gd, ld-arm/ifunc-12.rd,
ld-arm/ifunc-13.s, ld-arm/ifunc-13.dd, ld-arm/ifunc-13.gd,
ld-arm/ifunc-13.rd, ld-arm/ifunc-14.s, ld-arm/ifunc-14.dd,
ld-arm/ifunc-14.gd, ld-arm/ifunc-14.rd, ld-arm/ifunc-15.s,
ld-arm/ifunc-15.dd, ld-arm/ifunc-15.gd, ld-arm/ifunc-15.rd,
ld-arm/ifunc-16.s, ld-arm/ifunc-16.dd, ld-arm/ifunc-16.gd,
ld-arm/ifunc-16.rd, ld-arm/ifunc-dynamic.ld,
ld-arm/ifunc-static.ld: New tests.
* ld-arm/farcall-group.d, ld-arm/farcall-group-size2.d,
ld-arm/farcall-mixed-lib-v4t.d, ld-arm/farcall-mixed-lib.d: Update
for new stub hashes.
* ld-arm/arm-elf.exp: Run them.
tromey [Mon, 14 Mar 2011 15:58:54 +0000 (15:58 +0000)]
PR gdb/12576:
* dwarf2loc.c (dwarf_expr_dwarf_call): Remove 'return'.
(needs_frame_dwarf_call): Likewise.
rsandifo [Mon, 14 Mar 2011 15:54:57 +0000 (15:54 +0000)]
include/elf/
* internal.h (elf_internal_sym): Add st_target_internal.
* arm.h (arm_st_branch_type): New enum.
(ARM_SYM_BRANCH_TYPE): New macro.
bfd/
* elf-bfd.h (elf_link_hash_entry): Add target_internal.
* elf.c (swap_out_syms): Set st_target_internal for each
Elf_Internal_Sym.
* elfcode.h (elf_swap_symbol_in): Likewise.
* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
* elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
* elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
* elflink.c (elf_link_output_extsym): Likewise.
(bfd_elf_final_link): Likewise.
(elf_link_add_object_symbols): Copy st_target_internal
to the hash table if we see a definition.
(_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
* elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
a branch_type field.
(a8_erratum_fix, a8_erratum_reloc): Likewise.
(arm_type_of_stub): Replace actual_st_type with an
actual_branch_type parameter.
(arm_build_one_stub): Use branch types rather than st_types to
determine the type of branch.
(cortex_a8_erratum_scan): Likewise.
(elf32_arm_size_stubs): Likewise.
(bfd_elf32_arm_process_before_allocation): Likewise.
(allocate_dynrelocs_for_symbol): Likewise.
(elf32_arm_finish_dynamic_sections): Likewise.
(elf32_arm_final_link_relocate): Replace sym_flags parameter with
a branch_type parameter.
(elf32_arm_relocate_section): Update call accordingly.
(elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
(elf32_arm_output_map_sym): Initialize st_target_internal.
(elf32_arm_output_stub_sym): Likewise.
(elf32_arm_symbol_processing): Delete.
(elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
Use st_target_internal to record the branch type.
(elf32_arm_swap_symbol_out): Use st_target_internal to test for
Thumb functions.
(elf32_arm_is_function_type): Delete.
(elf_backend_symbol_processing): Likewise.
(elf_backend_is_function_type): Likewise.
gas/
* config/tc-arm.c (arm_adjust_symtab): Set the branch type
for Thumb symbols.
ld/
* emultempl/armelf.em (gld${EMULATION_NAME}_finish): Check
eh->target_internal.
opcodes/
* arm-dis.c (get_sym_code_type): Don't check for STT_ARM_TFUNC.
Use branch types instead.
(print_insn): Likewise.
rsandifo [Mon, 14 Mar 2011 15:53:57 +0000 (15:53 +0000)]
bfd/
* elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
(elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
into the PLT block.
ld/
* emultempl/armelf.em (arm_elf_before_allocation): Check dynobj
instead of dynamic_sections_created.
rsandifo [Mon, 14 Mar 2011 15:53:32 +0000 (15:53 +0000)]
bfd/
* elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
may_need_local_target_p and may_become_dynamic_p to classify
the relocation type. Don't check info->symbolic or h->def_regular
when deciding whether to record a potential dynamic reloc.
Don't treat potential dynamic relocs as PLT references.
(elf32_arm_gc_sweep_hook): Update to match. Assert that we don't
try to make the PLT reference count go negative.
ld/testsuite/
* ld-arm/arm-lib-plt-2a.s, ld-arm/arm-lib-plt-2b.s,
ld-arm/arm-lib-plt-2.dd, ld-arm/arm-lib-plt-2.rd: New tests.
* ld-arm/arm-elf.exp: Run them.
rsandifo [Mon, 14 Mar 2011 15:52:51 +0000 (15:52 +0000)]
bfd/
* elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
GOT entry here, rather than leaving it to finish_dynamic_symbol.
Only create a dynamic relocation for local references if
info->shared.
(allocate_dynrelocs_for_symbol): Update dynamic relocation
allocation accordingly.
(elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
ld/testsuite/
* ld-arm/exec-got-1a.s, ld-arm/exec-got-1b.s, ld-arm/exec-got-1.d,
ld-arm/unresolved-1.s, ld-arm/unresolved-1.d,
ld-arm/unresolved-1-dyn.d: New tests.
* ld-arm/arm-elf.exp: Run them.
rsandifo [Mon, 14 Mar 2011 15:52:05 +0000 (15:52 +0000)]
bfd/
* elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
(elf32_arm_add_dynreloc): Likewise.
(elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
to allocate dynamic relocations.
(elf32_arm_size_dynamic_sections): Likewise.
(allocate_dynrelocs): Likewise. Rename to
allocate_dynrelocs_for_symbol.
(elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
create dynamic relocations.
(elf32_arm_finish_dynamic_symbol): Likewise.
muller [Mon, 14 Mar 2011 15:43:48 +0000 (15:43 +0000)]
Fix ARI warning about functions without parameters that do not
use (void).
* breakpoint.c (all_tracepoints): Replace () by (void).
* f-exp.y (match_string_literal): Ditto.
(yylex): Ditto.
* m2-exp.y (yylex): Ditto.
* mep-tdep.c (current_me_module): Ditto.
(current_options): Ditto.
(current_cop_data_bus_width): Ditto.
(current_cr_names): Ditto.
(current_cr_is_float): Ditto.
(current_ccr_names): Ditto.
* objc-exp.y (yylex): Ditto.
* p-exp.y (yylex): Ditto.
* remote.c (send_interrupt_sequence): Ditto.
* tracepoint.c (current_trace_status): Ditto.
* python/py-evts.c (gdbpy_initialize_py_events): Ditto.
* python/py-prettyprint.c (push_dummy_python_frame): Ditto.
ian [Mon, 14 Mar 2011 15:22:16 +0000 (15:22 +0000)]
* script-sections.cc (Sort_output_sections::script_compare):
Rename from is_before, change return type.
(Sort_output_sections::operator()): Adjust accordingly.
corinna [Mon, 14 Mar 2011 09:14:16 +0000 (09:14 +0000)]
* fhandler_disk_file.cc (fhandler_base::fstat_by_handle): Only use
file id as inode number if it masters the isgood_inode check.
gdbadmin [Mon, 14 Mar 2011 00:01:03 +0000 (00:01 +0000)]
*** empty log message ***
amodra [Sun, 13 Mar 2011 23:00:05 +0000 (23:00 +0000)]
daily update
cgf [Sun, 13 Mar 2011 20:20:57 +0000 (20:20 +0000)]
* fhandler.cc (fhandler_base_overlapped::wait_overlapped): Remove special
treatment for ERROR_NO_SYSTEM_RESOURCES. Cancel I/O and reset the overlapped
handle on error.
(fhandler_base_overlapped::write_overlapped): Limit writes to max_atomic_write
bytes in blocking case. Incorporate code from now-defunct
write_overlapped_fallback. Fix serious oversight where ptr was not advanced as
buffer was written.
(fhandler_base_overlapped::write_overlapped_fallback): Eliminate.
* fhandler.h (fhandler_base_overlapped::write_overlapped_fallback): Ditto for
declaration.
(DEFAULT_PIPEBUFSIZE): Lower size to slightly less than documented worst-case
atomic write size.
(fhandler_overlapped::wait_return): Remove unused element.