public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master:  * exec.h (section_table_xfer_memory_partial): Improve description,  mention SECTION_NAME.  * exec.c (section_table_xfer_memory_partial): Remove stale  description.
@ 2009-06-12 22:30 jkratoch
  0 siblings, 0 replies; only message in thread
From: jkratoch @ 2009-06-12 22:30 UTC (permalink / raw)
  To: archer-commits

The branch, master has been updated
       via  4dbe3c7a9fcacfc9810c912b813a7a07d0ff92e7 (commit)
       via  81ebf370fe37f61ac55bd3ff64d66901b83696cd (commit)
       via  a898a7b200a3a31a35be65ac4f68413d7b579ecb (commit)
       via  c4ad487cb16d25add8ac9c0d38367ca5ed3a8794 (commit)
       via  670f24233bbc15fb62dee9c2267c0f22cd03fa71 (commit)
       via  4688c31093f8962806654ccd6cd187f76449ded2 (commit)
       via  6414d6c855497a8c05f9e4935a311f10e4ee81f9 (commit)
       via  0f3afabfe95cacbf8b1d7db284de829a96094024 (commit)
       via  b582291f6c898df361ee26a5113840cd0f4044cf (commit)
       via  394c61d68264eac8322c7b0cbfc093cf8443b354 (commit)
       via  cfdd89a769cd42d58a977fb0bfe40889bb8b24a1 (commit)
       via  1b9ca31e68bae8bc9703c0a98b8f7157324cd385 (commit)
       via  be645e778f859b9b996db0183fc9deb170674089 (commit)
       via  ced391d639e9bbb85e780151564a6c4e3b446f5e (commit)
       via  d196776a2091735a10f1b213109ba71dd9b38e38 (commit)
       via  cfbc53184b215a037f70aad8a49b87c7ae12dba0 (commit)
       via  a4170828dee49f1d714b927d8d58d752f718b8ec (commit)
       via  259b8197d9883301ed0e36eb7e87f84f08235900 (commit)
       via  8da72197d2fed63f540484293da013c0d2a02336 (commit)
       via  fba47fc03c10e74afaa069c1f7504f63726ebf0e (commit)
       via  7384699a5c819053f57177435ee075901c6b27ac (commit)
       via  86a6fd26ded3abdd8477fadac88c2f0d8fbd103d (commit)
       via  82c47ca870a245321b4e0d5be676e869c6478cdb (commit)
       via  27305e21926948d6b1ed549d6755521dcb898936 (commit)
       via  2565059a0d631e781bb78bb5d293156e18918e31 (commit)
       via  af3f233a276344d8c817a6d998b88f90f4631e08 (commit)
       via  a28e0e5db7cd184b4e4af290df6e7289fd20049f (commit)
       via  335f903bd2270007d89537d49ed1e19240d0d336 (commit)
      from  05bd28a1266bccb328641243751b99149a84d97f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 4dbe3c7a9fcacfc9810c912b813a7a07d0ff92e7
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Fri Jun 12 18:38:36 2009 +0000

    	* exec.h (section_table_xfer_memory_partial): Improve description,
    	mention SECTION_NAME.
    	* exec.c (section_table_xfer_memory_partial): Remove stale
    	description.

commit 81ebf370fe37f61ac55bd3ff64d66901b83696cd
Author: Phil Blundell <pb@futuretv.com>
Date:   Fri Jun 12 14:26:07 2009 +0000

    2009-06-10  Philip Blundell  <philb@gnu.org>
    
    	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
    	elf_sec->this_hdr == NULL.

commit a898a7b200a3a31a35be65ac4f68413d7b579ecb
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jun 12 12:04:19 2009 +0000

    * opncls.c (_maybe_make_executable): New function.  Gives execute
            permission to an executable bfd that was opened for writing
            provided that it is a regular file.  Replaces common code found in...
            (bfd_close): here and ...
            (bfd_close_all_done): here.

commit c4ad487cb16d25add8ac9c0d38367ca5ed3a8794
Author: Tristan Gingold <gingold@adacore.com>
Date:   Fri Jun 12 09:15:45 2009 +0000

    2009-06-12  Tristan Gingold  <gingold@adacore.com>
    
    	* reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
    	* bfd-in2.h: Regenerated.
    	* libbfd.h: Regenerated.
    
    	* mach-o.c (FILE_ALIGN): New macro.
    	(bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
    	(bfd_mach_o_print_symbol): Ditto.
    	(bfd_mach_o_scan_write_thread): Adjust type of variable offset.
    	(bfd_mach_o_get_reloc_upper_bound): New function.
    	(bfd_mach_o_canonicalize_reloc): Ditto.
    	(bfd_mach_o_scan_write_relocs): Ditto.
    	(bfd_mach_o_scan_write_section_32): Remove offset argument.
    	(bfd_mach_o_scan_write_section_64): Ditto.
    	(bfd_mach_o_scan_write_segment_32): Write relocs.  Fix size of data
    	written for load command.  Do not compute section file offset.
    	(bfd_mach_o_scan_write_segment_64): Ditto.
    	(bfd_mach_o_scan_write_symtab): Compute file offset first.
    	Adjust for bfd_mach_o_asymbol.  Move code to convert from BFD to
    	Mach-O to ...
    	(bfd_mach_o_mangle_symbols): ... this new function.
    	(bfd_mach_o_write_contents): Be sure to habe load commands built.
    	Call bfd_mach_o_mangle_symbols.
    	(bfd_mach_o_build_commands): Adjust for filelen field.
    	Use FILE_ALIGN macro.  Clear section file offset if section is empty.
    	Do not set symtab file offset anymore here.
    	(bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
    	(bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
    	Set reloc_count and rel_filepos section fields.
    	(bfd_mach_o_scan_read_section_32): Type of argument offset is now
    	unsigned int.
    	(bfd_mach_o_scan_read_section_64): Ditto.
    	(bfd_mach_o_scan_read_section): Ditto.
    	(bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
    	bfd_mach_o_asymbol.  Use unsigned int for file offset type.
    	(bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
    	Handle weak-ref symbols.
    	(bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
    	(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
    	(bfd_mach_o_scan): Remove assignment to removed field.
    	(bfd_mach_o_mkobject_init): Ditto.
    	(bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
    	(bfd_mach_o_bfd_reloc_type_lookup): New macro.
    	(bfd_mach_o_bfd_reloc_name_lookup): Ditto.
    	(bfd_mach_o_swap_reloc_in): Ditto.
    	(bfd_mach_o_swap_reloc_out): Ditto.
    
    	* mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
    	(BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
    	(BFD_MACH_O_REFERENCE_FLAG_DEFINED)
    	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
    	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
    	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
    	(BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
    	(BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
    	(BFD_MACH_O_N_WEAK_DEF): New macros.
    	Add comments.
    	(bfd_mach_o_section_type): Add new enumeration values.
    	(BFD_MACH_O_S_SELF_MODIFYING_CODE)
    	(BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
    	(BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
    	(BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
    	macros.
    	(BFD_MACH_O_GENERIC_RELOC_VANILLA)
    	(BFD_MACH_O_GENERIC_RELOC_PAIR)
    	(BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
    	(BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
    	(BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
    	(BFD_MACH_O_RELENT_SIZE): Ditto.
    	(BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
    	(BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
    	(BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
    	(BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
    	(BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
    	(BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
    	(BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
    	(BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
    	(bfd_mach_o_reloc_info): New struct.
    	(bfd_mach_o_asymbol): New struct.
    	(bfd_mach_o_symtab_command): The symbols field is now of type
    	bfd_mach_o_asymbol.
    	(bfd_mach_o_load_command): The offset and len fields are now of type
    	unsigned int.
    	(mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
    	Add a filelen field.  Add comments.
    	(bfd_mach_o_backend_data): New struct.
    	(bfd_mach_o_get_backend_data): New macro.
    	(bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
    	bfd_mach_o_asymbol.
    	(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
    	(bfd_mach_o_get_reloc_upper_bound): New prototype.
    	(bfd_mach_o_canonicalize_reloc): Ditto.
    
    	* mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
    	duplicated macro.  Now defined to _bfd_generic_is_local_label.
    	(TARGET_NAME_BACKEND): New macro...
    	(TARGET_NAME_BACKEND): ... used to name a new variable.
    	(TARGET_NAME): Define relocs table using bfd_mach_o, reference
    	Mach-O backend data.
    
    	* mach-o-i386.c (i386_howto_table): New variable.
    	(bfd_mach_o_i386_swap_reloc_in): New function.
    	(bfd_mach_o_i386_swap_reloc_out): Ditto.
    	(bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
    	(bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
    	(bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
    	(bfd_mach_o_bfd_reloc_type_lookup)
    	(bfd_mach_o_bfd_reloc_name_lookup): Ditto.

commit 670f24233bbc15fb62dee9c2267c0f22cd03fa71
Author: Aleksandar Ristovski <aristovski@qnx.com>
Date:   Fri Jun 12 02:32:09 2009 +0000

    * nto-tdep.h (nto_generic_supply_gpregset)
    (nto_generic_supply_fpregset, nto_generic_supply_altregset): Remove.
    * nto-tdep.c (nto_generic_supply_gpregset)
    (nto_generic_supply_fpregset, nto_generic_supply_altregset): Remove.

commit 4688c31093f8962806654ccd6cd187f76449ded2
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri Jun 12 00:00:32 2009 +0000

    *** empty log message ***

commit 6414d6c855497a8c05f9e4935a311f10e4ee81f9
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Jun 12 00:00:04 2009 +0000

    daily update

commit 0f3afabfe95cacbf8b1d7db284de829a96094024
Author: Aleksandar Ristovski <aristovski@qnx.com>
Date:   Thu Jun 11 20:55:18 2009 +0000

    	* i386-nto-tdep.c (I386_NTO_SIGCONTEXT_OFFSET): Remove define.
    	(i386nto_sigcontext_addr): Change the way context address is calculated.
    	(i386nto_init_abi): Remove usage of deprecated sc_reg_offset and
    	sc_sp_offset and set sc_reg_offset and sc_num_regs.

commit b582291f6c898df361ee26a5113840cd0f4044cf
Author: Aleksandar Ristovski <aristovski@qnx.com>
Date:   Thu Jun 11 19:29:00 2009 +0000

    	* i386-nto-tdep.c (i386_nto_target): Remove definition.
    	(init_i386nto_ops): Use macros to set fields to global
    	current_nto_target directly.
    	(i386nto_init_abi): Remove unused nto_set_target call.
    	* nto-tdep.h (nto_set_target): Remove unused declaration.
    	* nto-tdep.c (nto_set_target): Remove unused function.

commit 394c61d68264eac8322c7b0cbfc093cf8443b354
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Thu Jun 11 18:51:42 2009 +0000

    	* breakpoint.c (break_command_really): Rename local variable
    	breakpoint_chain to bkpt_chain.

commit cfdd89a769cd42d58a977fb0bfe40889bb8b24a1
Author: Aleksandar Ristovski <aristovski@qnx.com>
Date:   Thu Jun 11 17:12:11 2009 +0000

    	Add support for XMM registers.
    	* i386-nto-tdep.c (i386nto_regset_id): Add case for SSE register set.
    	(i386nto_register_area): Correctly calculate offsets and sizes for
    	all supported registers.

commit 1b9ca31e68bae8bc9703c0a98b8f7157324cd385
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Jun 11 16:49:46 2009 +0000

    	* eval.c (evaluate_subexp_standard) <OP_OBJC_MSGCALL>: Remove
    	'static' from local variable definitions.

commit be645e778f859b9b996db0183fc9deb170674089
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Thu Jun 11 14:24:24 2009 +0000

    	* symtab.c (append_expanded_sal): Remove unused local variables.

commit ced391d639e9bbb85e780151564a6c4e3b446f5e
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Thu Jun 11 11:57:45 2009 +0000

    gdb/
    	* infrun.c (sched_multi): New global.
    	(resume): If sched_multi is set, resume only threads of the
    	current inferior.
    	(prepare_to_proceed): Don't switch over to wait_ptid if we're
    	resuming a different inferior, and sched_multi is off.
    	(show_schedule_multiple): New.
    	(_initialize_infrun): Register new "set schedule-multiple" command.
    	* inferior.h (sched_multi): Declare.
    	* NEWS: Mention new "schedule-multiple" setting.
    gdb/doc/
    	* gdb.texinfo (All-Stop): Document new 'set schedule-multiple'
    	command.

commit d196776a2091735a10f1b213109ba71dd9b38e38
Author: Anthony Green <green@redhat.com>
Date:   Thu Jun 11 11:36:14 2009 +0000

    Add PC-relative branch support to moxie sim.

commit cfbc53184b215a037f70aad8a49b87c7ae12dba0
Author: Anthony Green <green@redhat.com>
Date:   Thu Jun 11 11:27:56 2009 +0000

    Add PC-relative branch instructions to moxie port.

commit a4170828dee49f1d714b927d8d58d752f718b8ec
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Thu Jun 11 00:46:28 2009 +0000

    Typos in ChangeLog :-(

commit 259b8197d9883301ed0e36eb7e87f84f08235900
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Thu Jun 11 00:41:02 2009 +0000

    2009-06-10  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* bfd-in2.h: bfd_mmap prototype
    	* bfdio.c (bfd_mmap): New function.
    	* libbfd.h (bfd_iovec): Add bmmap.
    	* cache.c (cache_bmap): New function.
    	(cache_iovec): Initialize bmmap member.
    	* opencls.c (opncls_bmmap): New function.
    	(opncls_iovec): Initialize bmmap member.

commit 8da72197d2fed63f540484293da013c0d2a02336
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu Jun 11 00:00:33 2009 +0000

    *** empty log message ***

commit fba47fc03c10e74afaa069c1f7504f63726ebf0e
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu Jun 11 00:00:04 2009 +0000

    daily update

commit 7384699a5c819053f57177435ee075901c6b27ac
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Wed Jun 10 23:39:45 2009 +0000

    	* varobj.c (varobj_create): Properly restore the selected frame.

commit 86a6fd26ded3abdd8477fadac88c2f0d8fbd103d
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Jun 10 22:08:18 2009 +0000

    	* inferior.c (print_inferior): Make a table, not a list.  Emit
    	table headers.

commit 82c47ca870a245321b4e0d5be676e869c6478cdb
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Wed Jun 10 21:08:27 2009 +0000

    2009-06-10  Jonas Maebe  <jonas.maebe@elis.ugent.be>
    
    	* darwin-nat.c (darwin_stop_inferior): Pass 0 as options to
    	darwin_wait (blocking wait).
    	(darwin_kill_inferior): Likewise.

commit 27305e21926948d6b1ed549d6755521dcb898936
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Wed Jun 10 17:26:36 2009 +0000

    	* infrun.c (handle_inferior_event): Update comment around trying
    	to revert back to a stepping thread that has exited.

commit 2565059a0d631e781bb78bb5d293156e18918e31
Author: Cary Coutant <ccoutant@google.com>
Date:   Wed Jun 10 14:55:13 2009 +0000

    	* dwarf2read.c (dwarf_decode_lines): Recognize and ignore
    	DW_LNE_set_discriminator.

commit af3f233a276344d8c817a6d998b88f90f4631e08
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Wed Jun 10 04:32:08 2009 +0000

    	* breakpoint.c: ARI fixes.
    	(create_overlay_event_breakpoint): Avoid assignment inside if statement.
    	(print_one_breakpoint_location): Likewise.
    	(create_longjmp_breakpoint): Likewise.
    	(tracepoint_save_command): Likewise
    	(bpstat_find_step_resume_breakpoint): No operator at end of line.
    	(bpstat_stop_status): Likewise.
    	(describe_other_breakpoints): Likewise.
    	(hw_watchpoint_used_count): Likewise.
    	(expand_line_sal_maybe): Likewise.
    	(break_command_really): Likewise.
    	(delete_command): Likewise.
    	(do_enable_breakpoint): Likewise.
    	(delete_trace_command): Likewise.
    	(catch_exception_command_1): Likewise and remove extra parentheses.

commit a28e0e5db7cd184b4e4af290df6e7289fd20049f
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed Jun 10 00:00:07 2009 +0000

    *** empty log message ***

commit 335f903bd2270007d89537d49ed1e19240d0d336
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed Jun 10 00:00:07 2009 +0000

    daily update

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog            |  144 +++++++++++++
 bfd/bfd-in2.h            |   12 +
 bfd/bfdio.c              |   30 +++
 bfd/cache.c              |   34 +++-
 bfd/elf32-arm.c          |   13 +-
 bfd/elf32-moxie.c        |   21 ++-
 bfd/libbfd.h             |    7 +
 bfd/mach-o-i386.c        |  164 +++++++++++++++-
 bfd/mach-o-target.c      |   17 ++-
 bfd/mach-o.c             |  508 ++++++++++++++++++++++++++++++++--------------
 bfd/mach-o.h             |  167 +++++++++++++--
 bfd/opncls.c             |   79 ++++----
 bfd/reloc.c              |   16 ++
 bfd/version.h            |    2 +-
 gdb/ChangeLog            |  106 ++++++++++
 gdb/NEWS                 |    5 +
 gdb/breakpoint.c         |  101 +++++-----
 gdb/darwin-nat.c         |    4 +-
 gdb/doc/ChangeLog        |    5 +
 gdb/doc/gdb.texinfo      |   30 +++
 gdb/dwarf2read.c         |    5 +
 gdb/eval.c               |   10 +-
 gdb/exec.c               |   21 --
 gdb/exec.h               |   10 +-
 gdb/i386-nto-tdep.c      |  136 +++++++++---
 gdb/inferior.c           |   30 +++-
 gdb/inferior.h           |    2 +
 gdb/infrun.c             |   84 +++++++--
 gdb/nto-tdep.c           |   34 ---
 gdb/nto-tdep.h           |   11 -
 gdb/symtab.c             |    2 -
 gdb/varobj.c             |    2 +-
 gdb/version.in           |    2 +-
 include/elf/ChangeLog    |    4 +
 include/elf/moxie.h      |    1 +
 include/opcode/ChangeLog |    5 +
 include/opcode/moxie.h   |    8 +-
 opcodes/ChangeLog        |    7 +
 opcodes/moxie-dis.c      |    9 +-
 opcodes/moxie-opc.c      |   49 +++--
 sim/moxie/ChangeLog      |    5 +
 sim/moxie/interp.c       |  220 +++++++++-----------
 42 files changed, 1573 insertions(+), 549 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 296493b..7f1ce47 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,147 @@
+2009-06-10  Philip Blundell  <philb@gnu.org>
+
+	* elf32-arm.c (elf32_arm_fix_exidx_coverage): Avoid crash if
+	elf_sec->this_hdr == NULL.
+
+2009-06-12  Tristan Gingold  <gingold@adacore.com>
+
+	* reloc.c: Add BFD_RELOC_MACH_O_SECTDIFF and BFD_RELOC_MACH_O_PAIR.
+	* bfd-in2.h: Regenerated.
+	* libbfd.h: Regenerated.
+
+	* mach-o.c (FILE_ALIGN): New macro.
+	(bfd_mach_o_canonicalize_symtab): Adjust for bfd_mach_o_asymbol.
+	(bfd_mach_o_print_symbol): Ditto.
+	(bfd_mach_o_scan_write_thread): Adjust type of variable offset.
+	(bfd_mach_o_get_reloc_upper_bound): New function.
+	(bfd_mach_o_canonicalize_reloc): Ditto.
+	(bfd_mach_o_scan_write_relocs): Ditto.
+	(bfd_mach_o_scan_write_section_32): Remove offset argument.
+	(bfd_mach_o_scan_write_section_64): Ditto.
+	(bfd_mach_o_scan_write_segment_32): Write relocs.  Fix size of data
+	written for load command.  Do not compute section file offset.
+	(bfd_mach_o_scan_write_segment_64): Ditto.
+	(bfd_mach_o_scan_write_symtab): Compute file offset first.
+	Adjust for bfd_mach_o_asymbol.  Move code to convert from BFD to
+	Mach-O to ...
+	(bfd_mach_o_mangle_symbols): ... this new function.
+	(bfd_mach_o_write_contents): Be sure to habe load commands built.
+	Call bfd_mach_o_mangle_symbols.
+	(bfd_mach_o_build_commands): Adjust for filelen field.
+	Use FILE_ALIGN macro.  Clear section file offset if section is empty.
+	Do not set symtab file offset anymore here.
+	(bfd_mach_o_make_empty_symbol): Allocate a bfd_mach_o_asymbol.
+	(bfd_mach_o_make_bfd_section): Set SEC_RELOC if has reloc.
+	Set reloc_count and rel_filepos section fields.
+	(bfd_mach_o_scan_read_section_32): Type of argument offset is now
+	unsigned int.
+	(bfd_mach_o_scan_read_section_64): Ditto.
+	(bfd_mach_o_scan_read_section): Ditto.
+	(bfd_mach_o_scan_read_symtab_symbol): Typr of argument s is now
+	bfd_mach_o_asymbol.  Use unsigned int for file offset type.
+	(bfd_mach_o_scan_read_symtab_symbol): Adjust for bfd_mach_o_asymbol.
+	Handle weak-ref symbols.
+	(bfd_mach_o_scan_read_symtab_symbols): Adjust for bfd_mach_o_asymbol.
+	(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
+	(bfd_mach_o_scan): Remove assignment to removed field.
+	(bfd_mach_o_mkobject_init): Ditto.
+	(bfd_mach_o_bfd_print_private_bfd_data): Adjust printf formatter.
+	(bfd_mach_o_bfd_reloc_type_lookup): New macro.
+	(bfd_mach_o_bfd_reloc_name_lookup): Ditto.
+	(bfd_mach_o_swap_reloc_in): Ditto.
+	(bfd_mach_o_swap_reloc_out): Ditto.
+
+	* mach-o.h (BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_NON_LAZY)
+	(BFD_MACH_O_REFERENCE_FLAG_UNDEFINED_LAZY)
+	(BFD_MACH_O_REFERENCE_FLAG_DEFINED)
+	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_DEFINED)
+	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_NON_LAZY)
+	(BFD_MACH_O_REFERENCE_FLAG_PRIVATE_UNDEFINED_LAZY)
+	(BFD_MACH_O_REFERENCED_DYNAMICALLY, BFD_MACH_O_N_DESC_DISCARDED)
+	(BFD_MACH_O_N_NO_DEAD_STRIP, BFD_MACH_O_N_WEAK_REF)
+	(BFD_MACH_O_N_WEAK_DEF): New macros.
+	Add comments.
+	(bfd_mach_o_section_type): Add new enumeration values.
+	(BFD_MACH_O_S_SELF_MODIFYING_CODE)
+	(BFD_MACH_O_S_ATTR_LIVE_SUPPORT)
+	(BFD_MACH_O_S_ATTR_NO_DEAD_STRIP)
+	(BFD_MACH_O_S_ATTR_STRIP_STATIC_SYMS, BFD_MACH_O_S_ATTR_NO_TOC): New
+	macros.
+	(BFD_MACH_O_GENERIC_RELOC_VANILLA)
+	(BFD_MACH_O_GENERIC_RELOC_PAIR)
+	(BFD_MACH_O_GENERIC_RELOC_SECTDIFF)
+	(BFD_MACH_O_GENERIC_RELOC_PB_LA_PTR)
+	(BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF): Ditto.
+	(BFD_MACH_O_RELENT_SIZE): Ditto.
+	(BFD_MACH_O_R_PCREL, BFD_MACH_O_GET_R_LENGTH)
+	(BFD_MACH_O_R_EXTERN, BFD_MACH_O_GET_R_TYPE)
+	(BFD_MACH_O_GET_R_SYMBOLNUM, BFD_MACH_O_SET_R_LENGTH)
+	(BFD_MACH_O_SET_R_TYPE, BFD_MACH_O_SET_R_SYMBOLNUM): Ditto.
+	(BFD_MACH_O_SR_SCATTERED, BFD_MACH_O_SR_PCREL)
+	(BFD_MACH_O_GET_SR_LENGTH, BFD_MACH_O_GET_SR_TYPE)
+	(BFD_MACH_O_GET_SR_ADDRESS, BFD_MACH_O_SET_SR_LENGTH)
+	(BFD_MACH_O_SET_SR_TYPE, BFD_MACH_O_SET_SR_ADDRESS): Ditto.
+	(bfd_mach_o_reloc_info): New struct.
+	(bfd_mach_o_asymbol): New struct.
+	(bfd_mach_o_symtab_command): The symbols field is now of type
+	bfd_mach_o_asymbol.
+	(bfd_mach_o_load_command): The offset and len fields are now of type
+	unsigned int.
+	(mach_o_data_struct): Remove symbols, nsymbols and ibfd fields.
+	Add a filelen field.  Add comments.
+	(bfd_mach_o_backend_data): New struct.
+	(bfd_mach_o_get_backend_data): New macro.
+	(bfd_mach_o_scan_read_symtab_symbol): Parameter symbol now of type
+	bfd_mach_o_asymbol.
+	(bfd_mach_o_scan_read_dysymtab_symbol): Ditto.
+	(bfd_mach_o_get_reloc_upper_bound): New prototype.
+	(bfd_mach_o_canonicalize_reloc): Ditto.
+	
+	* mach-o-target.c (bfd_mach_o_bfd_is_local_label_name): Remove
+	duplicated macro.  Now defined to _bfd_generic_is_local_label.
+	(TARGET_NAME_BACKEND): New macro...
+	(TARGET_NAME_BACKEND): ... used to name a new variable.
+	(TARGET_NAME): Define relocs table using bfd_mach_o, reference
+	Mach-O backend data.
+
+	* mach-o-i386.c (i386_howto_table): New variable.
+	(bfd_mach_o_i386_swap_reloc_in): New function.
+	(bfd_mach_o_i386_swap_reloc_out): Ditto.
+	(bfd_mach_o_i386_bfd_reloc_type_lookup): Ditto.
+	(bfd_mach_o_i386_bfd_reloc_name_lookup): Ditto.
+	(bfd_mach_o_swap_reloc_in, bfd_mach_o_swap_reloc_out): New macros.
+	(bfd_mach_o_bfd_reloc_type_lookup)
+	(bfd_mach_o_bfd_reloc_name_lookup): Ditto.
+
+2009-06-11  Eric Paris  <eparis@redhat.com>
+	    Nick Clifton  <nickc@redhat.com>
+
+	* opncls.c (_maybe_make_executable): New function.  Gives execute
+	permission to an executable bfd that was opened for writing
+	provided that it is a regular file.  Replaces common code found in...
+	(bfd_close): here and ...
+	(bfd_close_all_done): here.
+
+2009-06-11  Anthony Green  <green@moxielogic.com>
+
+	* reloc.c: Add BFD_RELOC_MOXIE_10_PCREL.
+	* bfd-in2.h: Rebuilt.
+	* libbfd.h: Rebuilt.
+	* elf32-moxie.c (moxie_elf_howto_table): Add R_MOXIE_PCREL10
+	relocation support.
+	(moxie_reloc_map): Ditto.
+	Clean up copyright notice.
+
+2009-06-10  Paul Pluzhnikov  <ppluzhnikov@google.com>
+	
+	* bfd-in2.h: bfd_mmap prototype.
+	* bfdio.c (bfd_mmap): New function.
+	* libbfd.h (bfd_iovec): Add bmmap.
+	* cache.c (cache_bmmap): New function.
+	(cache_iovec): Initialize bmmap member.
+	* opencls.c (opncls_bmmap): New function.
+	(opncls_iovec): Initialize bmmap member.	
+	
 2009-06-09  Tristan Gingold  <gingold@adacore.com>
 
 	* mach-o.h (bfd_mach_o_symtab_command): Remove stabs_segment
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 004affe..9b98f8c 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -463,6 +463,7 @@ extern int bfd_seek (bfd *, file_ptr, int);
 extern file_ptr bfd_tell (bfd *);
 extern int bfd_flush (bfd *);
 extern int bfd_stat (bfd *, struct stat *);
+extern void *bfd_mmap (bfd *, void *, bfd_size_type, int, int, file_ptr);
 
 /* Deprecated old routines.  */
 #if __GNUC__
@@ -2736,6 +2737,10 @@ to compensate for the borrow when the low bits are added.  */
   BFD_RELOC_MIPS_JUMP_SLOT,
 
 
+/* Moxie ELF relocations.  */
+  BFD_RELOC_MOXIE_10_PCREL,
+
+
 /* Fujitsu Frv Relocations.  */
   BFD_RELOC_FRV_LABEL16,
   BFD_RELOC_FRV_LABEL24,
@@ -4494,6 +4499,13 @@ BFD_RELOC_XTENSA_ASM_EXPAND.  */
   BFD_RELOC_LM32_GLOB_DAT,
   BFD_RELOC_LM32_JMP_SLOT,
   BFD_RELOC_LM32_RELATIVE,
+
+/* Difference between two section addreses.  Must be followed by a
+BFD_RELOC_MACH_O_PAIR.  */
+  BFD_RELOC_MACH_O_SECTDIFF,
+
+/* Mach-O generic relocations.  */
+  BFD_RELOC_MACH_O_PAIR,
   BFD_RELOC_UNUSED };
 typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
 reloc_howto_type *bfd_reloc_type_lookup
diff --git a/bfd/bfdio.c b/bfd/bfdio.c
index 16bbf03..9b85338 100644
--- a/bfd/bfdio.c
+++ b/bfd/bfdio.c
@@ -158,6 +158,8 @@ DESCRIPTION
 .  int (*bclose) (struct bfd *abfd);
 .  int (*bflush) (struct bfd *abfd);
 .  int (*bstat) (struct bfd *abfd, struct stat *sb);
+.  void* (*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
+.                  int prot, int flags, file_ptr offset);
 .};
 
 */
@@ -511,3 +513,31 @@ bfd_get_size (bfd *abfd)
 
   return buf.st_size;
 }
+
+
+/*
+FUNCTION
+	bfd_mmap
+
+SYNOPSIS
+	void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
+	                int prot, int flags, file_ptr offset);
+
+DESCRIPTION
+	Return mmap()ed region of the file, if possible and implemented.
+
+*/
+
+void *
+bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
+	  int prot, int flags, file_ptr offset)
+{
+  void *ret = (void *)-1;
+  if ((abfd->flags & BFD_IN_MEMORY) != 0)
+    return ret;
+
+  if (abfd->iovec == NULL)
+    return ret;
+
+  return abfd->iovec->bmmap (abfd, addr, len, prot, flags, offset);
+}
diff --git a/bfd/cache.c b/bfd/cache.c
index 50674e8..c6873a9 100644
--- a/bfd/cache.c
+++ b/bfd/cache.c
@@ -46,6 +46,10 @@ SUBSECTION
 #include "libbfd.h"
 #include "libiberty.h"
 
+#ifdef HAVE_MMAP
+#include <sys/mman.h>
+#endif
+
 /* In some cases we can optimize cache operation when reopening files.
    For instance, a flush is entirely unnecessary if the file is already
    closed, so a flush would use CACHE_NO_OPEN.  Similarly, a seek using
@@ -388,10 +392,38 @@ cache_bstat (struct bfd *abfd, struct stat *sb)
   return sts;
 }
 
+static void *
+cache_bmmap (struct bfd *abfd ATTRIBUTE_UNUSED,
+	     void *addr ATTRIBUTE_UNUSED,
+	     bfd_size_type len ATTRIBUTE_UNUSED,
+	     int prot ATTRIBUTE_UNUSED,
+	     int flags ATTRIBUTE_UNUSED,
+	     file_ptr offset ATTRIBUTE_UNUSED)
+{
+  void *ret = (void *) -1;
+
+  if ((abfd->flags & BFD_IN_MEMORY) != 0)
+    abort ();
+#ifdef HAVE_MMAP
+  else
+    {
+      FILE *f = bfd_cache_lookup (abfd, CACHE_NO_SEEK_ERROR);
+      if (f == NULL)
+	return ret;
+
+      ret = mmap (addr, len, prot, flags, fileno (f), offset);
+      if (ret == (void *) -1)
+	bfd_set_error (bfd_error_system_call);
+    }
+#endif
+
+  return ret;
+}
+
 static const struct bfd_iovec cache_iovec =
 {
   &cache_bread, &cache_bwrite, &cache_btell, &cache_bseek,
-  &cache_bclose, &cache_bflush, &cache_bstat
+  &cache_bclose, &cache_bflush, &cache_bstat, &cache_bmmap
 };
 
 /*
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 2a2d461..df4be8b 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -3175,11 +3175,12 @@ arm_type_of_stub (struct bfd_link_info *info,
 
 	  /* We have an extra 2-bytes reach because of
 	     the mode change (bit 24 (H) of BLX encoding).  */
-	  if (branch_offset > (ARM_MAX_FWD_BRANCH_OFFSET + 2)
-	      || (branch_offset < ARM_MAX_BWD_BRANCH_OFFSET)
-	      || ((r_type == R_ARM_CALL) && !globals->use_blx)
-	      || (r_type == R_ARM_JUMP24)
-	      || (r_type == R_ARM_PLT32))
+	  if ((branch_offset > (ARM_MAX_FWD_BRANCH_OFFSET + 2)
+               || (branch_offset < ARM_MAX_BWD_BRANCH_OFFSET)
+               || ((r_type == R_ARM_CALL) && !globals->use_blx)
+               || (r_type == R_ARM_JUMP24)
+               || (r_type == R_ARM_PLT32))
+              && !use_plt)
 	    {
 	      stub_type = (info->shared | globals->pic_veneer)
 		/* PIC stubs.  */
@@ -8960,7 +8961,7 @@ elf32_arm_fix_exidx_coverage (asection **text_section_order,
 	  struct bfd_elf_section_data *elf_sec = elf_section_data (sec);
 	  Elf_Internal_Shdr *hdr = &elf_sec->this_hdr;
 	  
-	  if (hdr->sh_type != SHT_ARM_EXIDX)
+	  if (!hdr || hdr->sh_type != SHT_ARM_EXIDX)
 	    continue;
 	  
 	  if (elf_sec->linked_to)
diff --git a/bfd/elf32-moxie.c b/bfd/elf32-moxie.c
index e3f01d2..23a16ff 100644
--- a/bfd/elf32-moxie.c
+++ b/bfd/elf32-moxie.c
@@ -1,5 +1,4 @@
 /* moxie-specific support for 32-bit ELF.
-   Copyright 2008 Anthony Green.
    Copyright 2009 Free Software Foundation, Inc.
 
    Copied from elf32-fr30.c which is..
@@ -62,6 +61,21 @@ static reloc_howto_type moxie_elf_howto_table [] =
 	 0x00000000,		/* src_mask */
 	 0xffffffff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
+
+  /* A 10 bit PC-relative relocation.  */
+  HOWTO (R_MOXIE_PCREL10,	/* type.  */
+	 1,			/* rightshift.  */
+	 1,			/* size (0 = byte, 1 = short, 2 = long).  */
+	 10,			/* bitsize.  */
+	 TRUE,			/* pc_relative.  */
+	 0,			/* bitpos.  */
+	 complain_overflow_signed, /* complain_on_overflow.  */
+	 bfd_elf_generic_reloc,	/* special_function.  */
+	 "R_MOXIE_PCREL10",		/* name.  */
+	 FALSE,			/* partial_inplace.  */
+	 0,			/* src_mask.  */
+	 0x000003FF,		/* dst_mask.  */
+	 TRUE),			/* pcrel_offset.  */
 };
 \f
 /* Map BFD reloc types to MOXIE ELF reloc types.  */
@@ -74,8 +88,9 @@ struct moxie_reloc_map
 
 static const struct moxie_reloc_map moxie_reloc_map [] =
 {
-  { BFD_RELOC_NONE,           R_MOXIE_NONE },
-  { BFD_RELOC_32,             R_MOXIE_32 },
+  { BFD_RELOC_NONE,            R_MOXIE_NONE },
+  { BFD_RELOC_32,              R_MOXIE_32 },
+  { BFD_RELOC_MOXIE_10_PCREL,  R_MOXIE_PCREL10 },
 };
 
 static reloc_howto_type *
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index ea1a080..d0499e8 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -773,6 +773,9 @@ struct bfd_iovec
   int (*bclose) (struct bfd *abfd);
   int (*bflush) (struct bfd *abfd);
   int (*bstat) (struct bfd *abfd, struct stat *sb);
+  /* Just like mmap: (void*)-1 on failure, mmapped address on success.  */
+  void *(*bmmap) (struct bfd *abfd, void *addr, bfd_size_type len,
+                  int prot, int flags, file_ptr offset);
 };
 /* Extracted from bfdwin.c.  */
 struct _bfd_window_internal {
@@ -1030,6 +1033,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_MIPS_COPY",
   "BFD_RELOC_MIPS_JUMP_SLOT",
 
+  "BFD_RELOC_MOXIE_10_PCREL",
+
   "BFD_RELOC_FRV_LABEL16",
   "BFD_RELOC_FRV_LABEL24",
   "BFD_RELOC_FRV_LO16",
@@ -2064,6 +2069,8 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_LM32_GLOB_DAT",
   "BFD_RELOC_LM32_JMP_SLOT",
   "BFD_RELOC_LM32_RELATIVE",
+  "BFD_RELOC_MACH_O_SECTDIFF",
+  "BFD_RELOC_MACH_O_PAIR",
  "@@overflow: BFD_RELOC_UNUSED@@",
 };
 #endif
diff --git a/bfd/mach-o-i386.c b/bfd/mach-o-i386.c
index 7d389f5..f600c01 100644
--- a/bfd/mach-o-i386.c
+++ b/bfd/mach-o-i386.c
@@ -60,9 +60,171 @@ bfd_mach_o_i386_mkobject (bfd *abfd)
   return TRUE;
 }
 
+static reloc_howto_type i386_howto_table[]=
+{
+  HOWTO(BFD_RELOC_32, 0, 2, 32, FALSE, 0,
+	complain_overflow_bitfield,
+	NULL, "32",
+	FALSE, 0xffffffff, 0xffffffff, FALSE),
+  HOWTO(BFD_RELOC_16, 0, 1, 16, FALSE, 0,
+	complain_overflow_bitfield,
+	NULL, "16",
+	FALSE, 0xffff, 0xffff, FALSE),
+  HOWTO(BFD_RELOC_8, 0, 0, 8, FALSE, 0,
+	complain_overflow_bitfield,
+	NULL, "8",
+	FALSE, 0xff, 0xff, FALSE),
+  HOWTO(BFD_RELOC_32_PCREL, 0, 2, 32, TRUE, 0,
+	complain_overflow_bitfield,
+	NULL, "DISP32",
+	FALSE, 0xffffffff, 0xffffffff, TRUE),
+  HOWTO(BFD_RELOC_16_PCREL, 0, 1, 16, TRUE, 0,
+	complain_overflow_bitfield,
+	NULL, "DISP16",
+	FALSE, 0xffff, 0xffff, TRUE),
+  HOWTO(BFD_RELOC_MACH_O_SECTDIFF, 0, 2, 32, FALSE, 0,
+	complain_overflow_bitfield,
+	NULL, "SECTDIFF_32",
+	FALSE, 0xffffffff, 0xffffffff, FALSE),
+  HOWTO(BFD_RELOC_MACH_O_PAIR, 0, 2, 32, FALSE, 0,
+	complain_overflow_bitfield,
+	NULL, "PAIR_32",
+	FALSE, 0xffffffff, 0xffffffff, FALSE),
+};
+
+static bfd_boolean
+bfd_mach_o_i386_swap_reloc_in (arelent *res, bfd_mach_o_reloc_info *reloc)
+{
+  if (reloc->r_scattered)
+    {
+      switch (reloc->r_type)
+        {
+        case BFD_MACH_O_GENERIC_RELOC_PAIR:
+          if (reloc->r_length != 2)
+            return FALSE;
+          res->howto = &i386_howto_table[3];
+          res->address = res[-1].address;
+          return TRUE;
+        case BFD_MACH_O_GENERIC_RELOC_SECTDIFF:
+        case BFD_MACH_O_GENERIC_RELOC_LOCAL_SECTDIFF:
+          if (reloc->r_length != 2)
+            return FALSE;
+          res->howto = &i386_howto_table[2];
+          return TRUE;
+        default:
+          return FALSE;
+        }
+    }
+  else
+    {
+      switch (reloc->r_type)
+        {
+        case BFD_MACH_O_GENERIC_RELOC_VANILLA:
+          switch ((reloc->r_length << 1) | reloc->r_pcrel)
+            {
+            case 0: /* len = 0, pcrel = 0  */
+              res->howto = &i386_howto_table[2];
+              return TRUE;
+            case 2: /* len = 1, pcrel = 0  */
+              res->howto = &i386_howto_table[1];
+              return TRUE;
+            case 3: /* len = 1, pcrel = 1  */
+              res->howto = &i386_howto_table[4];
+              return TRUE;
+            case 4: /* len = 2, pcrel = 0  */
+              res->howto = &i386_howto_table[0];
+              return TRUE;
+            case 5: /* len = 2, pcrel = 1  */
+              res->howto = &i386_howto_table[3];
+              return TRUE;
+            default:
+              return FALSE;
+            }
+          break;
+        default:
+          return FALSE;
+        }
+    }
+}
+
+static bfd_boolean
+bfd_mach_o_i386_swap_reloc_out (arelent *rel, bfd_mach_o_reloc_info *rinfo)
+{
+  rinfo->r_address = rel->address;
+  switch (rel->howto->type)
+    {
+    case BFD_RELOC_32:
+    case BFD_RELOC_32_PCREL:
+    case BFD_RELOC_16:


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2009-06-12 22:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-06-12 22:30 [SCM] master: * exec.h (section_table_xfer_memory_partial): Improve description, mention SECTION_NAME. * exec.c (section_table_xfer_memory_partial): Remove stale description jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).