public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  master: Merge remote branch 'gdb/master'
Date: Thu, 14 Oct 2010 20:55:00 -0000	[thread overview]
Message-ID: <20101014205548.5895.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  d8d2c40696f0b959f9a997b05f10e92646ae6997 (commit)
       via  c619812c381908704dd4d385be9a7f74d2b6e49a (commit)
       via  0dec04cd391afbd7848a83092d1fbfc5dfbdb0e1 (commit)
       via  715c8705f637e8505d601c1ccf86fc3e00d58c95 (commit)
       via  c0dab19a92624ea7778c8c10a46acf2e7fa5b0a7 (commit)
       via  18adfa0ebdbcf5bc5b83209a72c1bd7c112b1193 (commit)
       via  8be50900be59aee3d98bfd3739efc43879ecf59d (commit)
       via  cee21f54f10cbc59edd243eead62003426680657 (commit)
       via  1f66ce293dcf912e856512ab042685442cb1a604 (commit)
       via  ba4425ae906ea625835613f9152d5f0e8d4f6208 (commit)
      from  6cf47741faf811d7816dd54cf838e256e32d29b9 (commit)

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

- Log -----------------------------------------------------------------
commit d8d2c40696f0b959f9a997b05f10e92646ae6997
Merge: 6cf4774 c619812
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Oct 14 22:55:38 2010 +0200

    Merge remote branch 'gdb/master'

commit c619812c381908704dd4d385be9a7f74d2b6e49a
Author: H.J. Lu <hjl.tools@gmail.com>
Date:   Thu Oct 14 18:45:09 2010 +0000

    Add CheckRegSize to instructions which require register size check.
    
    gas/
    
    2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>
    
    	* config/tc-i386.c (match_template): Check checkregsize
    	instead of w for register size check.
    
    gas/testsuite/
    
    2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>
    
    	* gas/i386/i386.exp: Run inval-reg.
    
    	* gas/i386/inval-reg.l: New.
    	* gas/i386/inval-reg.s: Likewise.
    
    opcodes/
    
    2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>
    
    	* i386-gen.c (opcode_modifiers): Add CheckRegSize.
    
    	* i386-opc.h (CheckRegSize): New.
    	(i386_opcode_modifier): Add checkregsize.
    
    	* i386-opc.tbl: Add CheckRegSize to instructions which
    	require register size check.
    	* i386-tbl.h: Regenerated.

commit 0dec04cd391afbd7848a83092d1fbfc5dfbdb0e1
Author: swagiaal <swagiaal>
Date:   Thu Oct 14 16:13:35 2010 +0000

    Fixed void* vs int* overload issue (PR C++/10343).
    
    2010-10-14  Sami Wagiaalla  <swagiaal@redhat.com>
    
    	* gdbtypes.h: Create BASE_PTR_CONVERSION_BADNESS.
    	* gdbtypes.c (rank_one_type): Move type comparison code out of here
    	to...
    	(types_equal): ...here. And changed it as follows:
    	Outside of typedefs type must be of the same TYPE_CODE.
    	When compairing two pointers or references they are equal if their
    	targets are equal.
    	Correct pointer conversions.
    
    2010-10-14  Sami Wagiaalla  <swagiaal@redhat.com>
    
    	* gdb.cp/converts.cc: New test program.
    	* gdb.cp/converts.exp: New test.
    	* gdb.cp/overload.exp: Added test for void* vs int*.
    	* gdb.cp/overload.exp: Ditto.
    	* gdb.cp/oranking.exp: Removed related kfail.

commit 715c8705f637e8505d601c1ccf86fc3e00d58c95
Author: Pierre Muller <muller@ics.u-strasbg.fr>
Date:   Thu Oct 14 15:18:53 2010 +0000

    	* p-lang.c (is_pascal_string_type): Avoid crashes on structures
    	having fields without names.

commit c0dab19a92624ea7778c8c10a46acf2e7fa5b0a7
Author: Dave Korn <dave.korn@artimi.com>
Date:   Thu Oct 14 01:31:25 2010 +0000

    Applied patch series for LD plugin interface (six parts).
    
    [PATCH] Add infrastructure for plugin API; functionality to follow.
    
        include/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 1/6).
    	* plugin-api.h (LDPT_GNU_LD_VERSION): New ld_plugin_tag enum member.
    
        ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 1/6).
    	* configure.in: Add AC_CHECKs for file io and dlfcn headers and
    	functions and AC_SEARCH for -ldl.
    	(enable_plugins): New shell variable set if above tests find dlopen
    	functionality.
    	(ENABLE_PLUGINS): Add related automake conditional.
    	* configure: Regenerate.
    	* config.in: Likewise.
    	* Makefile.am (PLUGIN_C): Declare plugin C source file, conditional
    	on ENABLE_PLUGINS being defined.
    	(PLUGIN_H): Likewise for header file.
    	(PLUGIN_OBJECT): Likewise for object file.
    	(PLUGIN_CFLAGS): Likewise -D flag required to compile plugin support.
    	(AM_CPPFLAGS): Use PLUGIN_CFLAGS.
    	(CFILES): Use PLUGIN_C.
    	(HFILES): Use PLUGIN_H.
    	(OFILES): Use PLUGIN_OBJECT.
    	(ld_new_SOURCES): Use PLUGIN_C.
    	(noinst_LTLIBRARIES)[ENABLE_PLUGINS]: Declare test plugin.
    	(libldtestplug_la_SOURCES)[ENABLE_PLUGINS]: Add automake definition
    	for test plugin.
    	(libldtestplug_la_CFLAGS)[ENABLE_PLUGINS]: Likewise.
    	(libldtestplug_la_LDFLAGS)[ENABLE_PLUGINS]: Likewise.
    	* Makefile.in: Regenerate.
    	* sysdep.h: Include stdarg.h, unistd.h and one of fcntl.h or
    	sys/file.h where available.  Include dlfcn.h when ENABLE_PLUGINS.
    	(O_RDONLY): Supply default definition likewise to bfd's sysdep.h
    	(O_WRONLY): Likewise.
    	(O_RDWR): Likewise.
    	(O_ACCMODE): Likewise.
    	(O_BINARY): Likewise.
    	(SEEK_SET): Likewise.
    	(SEEK_CUR): Likewise.
    	(SEEK_END): Likewise.
    	* ldmisc.c (vfinfo): Make non-static.  Add %p format char.
    	* ldmisc.h (vfinfo): Declare extern prototype.
    	* lexsup.c (enum option_values)[ENABLE_PLUGINS]: Add new entries for
    	OPTION_PLUGIN and OPTION_PLUGIN_OPT.
    	(ld_options[])[ENABLE_PLUGINS]: Add option data for the above two.
    	(parse_args)[ENABLE_PLUGINS]: Handle them, and load all plugins once
    	option parsing is complete.
    	* ldmain.c (main)[ENABLE_PLUGINS]: Call plugin cleanup hooks just
    	after lang_finish.
    	* plugin.c: New source file.
    	* plugin.h: Likewise new header.
    	* testplug.c: New source file.
    
        ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 1/6).
    	* ld-bootstrap/bootstrap.exp: Skip static tests also if LD plugins
    	are enabled.
    	* lib/ld-lib.exp (proc regexp_diff): Extend verbose debug output.
    	(proc set_file_contents): Write a file with the supplied content.
    	(run_ld_link_tests): Add new 'ld' action to test linker output.
    	(proc check_plugin_api_available): Return true if linker under test
    	supports the plugin API.
    	* ld-plugin/func.c: New test source file.
    	* ld-plugin/main.c: Likewise.
    	* ld-plugin/text.c: Likewise.
    	* ld-plugin/plugin-1.d: New dump test output pattern script.
    	* ld-plugin/plugin-2.d: Likewise.
    	* ld-plugin/plugin-3.d: Likewise.
    	* ld-plugin/plugin-4.d: Likewise.
    	* ld-plugin/plugin-5.d: Likewise.
    	* ld-plugin/plugin.exp: New test control script.
    ---
    [PATCH] Implement claim file and all symbols read hooks and add symbols callback.
    
      ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 2/6).
    	* ldfile.c (ldfile_try_open_bfd)[ENABLE_PLUGINS]: Don't return early
    	during compat checks if they pass, instead offer any successfully
    	opened and accepted file to the plugin claim file hooks chain.  Create
    	a dummy bfd to accept symbols added by the plugin, if the plugin
    	claims the file.
    	* ldlang.c (lang_process)[ENABLE_PLUGINS]: Call plugin all symbols
    	read hook chain before ldemul_after_open.
    	* ldlang.h (struct lang_input_statement_struct): Add new single-bit
    	'claimed' flag.
    	* plugin.c (IRONLY_SUFFIX): New macro for dummy bfd file suffix.
    	(IRONLY_SUFFIX_LEN): Length of the above string.
    	(plugin_get_ir_dummy_bfd): New function to create the dummy bfd used
    	to store symbols for ir-only files.
    	(is_ir_dummy_bfd): New function to check if a bfd is ir-only.
    	(asymbol_from_plugin_symbol): New function converts symbol formats.
    	(add_symbols): Call it to convert plugin syms to bfd syms and add
    	them to the dummy bfd.
    	* plugin.h: Add missing include guards.
    	(plugin_get_ir_dummy_bfd): Add prototype.
    	(is_ir_dummy_bfd): Likewise.
    	* testplug.c (TV_MESSAGE): New helper macro.
    	(struct claim_file): New struct.
    	(claim_file_t): New typedef.
    	(tag_names[]): Make static and const.
    	(claimfiles_list): New variable.
    	(claimfiles_tail_chain_ptr): Likewise.
    	(last_claimfile): Likewise.
    	(record_claim_file): Record a file to claim on a singly-linked list.
    	(parse_symdefstr): Parse an ASCII representation of a symbol from a
    	plugin option into the fields of a struct ld_plugin_symbol.
    	(record_claimed_file_symbol):  Use it to parse plugin option for
    	adding a symbol.
    	(parse_option): Parse claim file and add symbol options.
    	(dump_tv_tag): Use TV_MESSAGE.
    	(onload): Likewise.
    	(onclaim_file): Make static.  Use TV_MESSAGE.  Scan list of files to
    	claim and claim this file if required, adding any symbols specified.
    	(onall_symbols_read): Make static and use TV_MESSAGE.
    	(oncleanup): Likewise.
    
      ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 2/6).
    	* ld-plugin/plugin-3.d: Enable regexes for new functionality.
    	* ld-plugin/plugin-5.d: Likewise.
    	* ld-plugin/plugin-6.d: New testcase.
    	* ld-plugin/plugin-7.d: Likewise.
    	* ld-plugin/plugin.exp: Use 'nm' on compiled test objects to determine
    	whether symbols in plugin arguments need an underscore prefix.  Add
    	new plugin-6.d and plugin-7.d testcases.
    ---
    [PATCH] Implement get symbols callback.
    
      ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 3/6).
    	* ldmain.c (notice)[ENABLE_PLUGINS]: Call plugin_notice.
    	* plugin.c (non_ironly_hash): Add new bfd hash table.
    	(plugin_load_plugins): Exit early if no plugins to load.  If plugins
    	do load successfully, set notice_all flag in link info.
    	(get_symbols): Implement.
    	(plugin_load_plugins): Exit early if no plugins to load, else after
    	loading plugins successfully enable notice_all mode.
    	(init_non_ironly_hash): Lazily init non_ironly_hash table.
    	(plugin_notice): Record symbols referenced from non-IR files in the
    	non_ironly_hash.  Suppress tracing, cref generation and nocrossrefs
    	tracking for symbols from dummy IR bfds.
    	* plugin.h: Fix formatting.
    	(plugin_notice): Add prototype.
    	* testplug.c (dumpresolutions): New global var.
    	(parse_options): Accept "dumpresolutions".
    	(onall_symbols_read): Get syms and dump resolutions if it was given.
    
      ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 3/6).
    	* ld-plugin/plugin-8.d: New testcase.
    	* ld-plugin/plugin.exp: Invoke it.
    ---
    [PATCH] Implement add input file, add input lib and set extra lib path callbacks.
    
      ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 4/6).
    	* ldlang.c (lang_process)[ENABLE_PLUGINS]: Move invocation of
    	plugin_call_all_symbols_read to before setting of gc_sym_list, and
    	open any new input files that may have been added during it.
    	* ldmain.c (multiple_definition)[ENABLE_PLUGINS]: Call out to
    	plugin_multiple_definition and let it have first say over what to do
    	with the clashing definitions.
    	* plugin.c (no_more_claiming): New boolean variable.
    	(plugin_cached_allow_multiple_defs): Likewise.
    	(add_input_file): Implement.
    	(add_input_library): Likewise.
    	(set_extra_library_path): Likewise.
    	(plugin_call_claim_file): Don't do anything when no_more_claiming set.
    	(plugin_call_all_symbols_read): Set it.  Disable link info
    	"allow_multiple_definition" flag, but cache its value.
    	(plugin_multiple_definition): New function.
    	* plugin.h (plugin_multiple_definition): Add prototype.
    	* testplug.c (addfile_enum_t): New enumerated typedef.
    	(add_file_t): New struct typedef.
    	(addfiles_list): New variable.
    	(addfiles_tail_chain_ptr): Likewise.
    	(record_add_file): New function.
    	(parse_option): Parse "add:", "lib:" and "dir:" options and call it.
    	(onall_symbols_read): Iterate the list of new files, libs and dirs,
    	adding them.
    
      ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 4/6).
    	* ld-plugin/plugin-9.d: New testcase.
    	* ld-plugin/plugin.exp: Invoke it.
    ---
    [PATCH] Add ELF symbol visibility support to plugin interface.
    
      ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 5/6).
    	* plugin.c (asymbol_from_plugin_symbol): If the bfd is an ELF bfd,
    	find the elf symbol data and set the visibility in the st_other field.
    
      ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 5/6).
    	* ld-plugin/plugin-ignore.d: New dump test control script.
    	* ld-plugin/plugin-vis-1.d: Likewise.
    	* ld-plugin/plugin.exp: Add list of ELF-only tests and run them if
    	testing on an ELF target.
    ---
    [PATCH] Add archive support to plugin interface.
    
      bfd/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 6/6).
    	* aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
    	parameter and pass it when invoking add_archive_element callback.
    	(aout_link_check_archive_element): Handle substitute bfd if it
    	was set during add_archive_element callback in the above.
    	* cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
    	parameter and pass it when invoking add_archive_element callback.
    	(coff_link_check_archive_element): Handle substitute bfd if it
    	was set during add_archive_element callback in the above.
    	* ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
    	code factored-out from ecoff_link_check_archive_element.
    	(reread_ext_syms_and_strs): Clear old symbols and call it.
    	(ecoff_link_check_archive_element):  Use the above.  Handle substitute
    	BFD if one is set by add_archive_element callback.
    	(ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
    	* elflink.c (elf_link_add_archive_symbols): Likewise.
    	* linker.c (generic_link_check_archive_element): Likewise.
    	* pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
    	parameter and pass it when invoking add_archive_element callback.
    	(aout_link_check_archive_element): Handle substitute bfd if it was
    	set during add_archive_element callback in the above.
    	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
    	BFD if one is set by add_archive_element callback.
    	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
    	reference parameter and pass it when invoking add_archive_element
    	callback.
    	(xcoff_link_check_ar_symbols): Likewise.
    	(xcoff_link_check_archive_element): Handle bfd substitution if it was
    	set by callback in the above.
    
      include/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 6/6).
    	* bfdlink.h (struct_bfd_link_callbacks): Document new argument
    	to add_archive_element callback used to return a replacement bfd which
    	is to be added to the hash table in place of the original element.
    
      ld/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 6/6).
    	* ldlang.c (load_symbols): Handle bfd subsitution when calling the
    	add_archive_element callback.
    	* ldmain.c (add_archive_element)[ENABLE_PLUGINS]: Offer the archive
    	member to the plugins and if claimed set "subsbfd" output parameter to
    	point to the dummy IR-only BFD.
    
      ld/testsuite/ChangeLog:
    
    2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com>
    
    	Apply LD plugin patch series (part 6/6).
    	* ld-plugin/plugin-10.d: New dump test control script.
    	* ld-plugin/plugin-11.d: Likewise.
    	* ld-plugin/plugin.exp: Run them.
    ---

commit 18adfa0ebdbcf5bc5b83209a72c1bd7c112b1193
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu Oct 14 00:00:02 2010 +0000

    *** empty log message ***

commit 8be50900be59aee3d98bfd3739efc43879ecf59d
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed Oct 13 23:00:05 2010 +0000

    daily update

commit cee21f54f10cbc59edd243eead62003426680657
Author: Doug Evans <dje@google.com>
Date:   Wed Oct 13 20:08:39 2010 +0000

    	New python module gdb.types.
    	* NEWS: Document it.
    	* data-directory/Makefile.in (PYTHON_FILES): Add gdb/types.py.
    	* python/lib/gdb/types.py: New file.
    
    	testsuite/
    	* lib/gdb-python.exp (gdb_check_python_config): New function.
    	* gdb.python/Makefile.in (EXECUTABLES): Add lib-types.
    	* gdb.python/lib-types.cc: New file.
    	* gdb.python/lib-types.exp: New file.
    
    	doc/
    	* gdb.texinfo (Python): Add "Python modules".
    	(Types in Python): Add reference to gdb.types section.
    	(Python modules): New node.

commit 1f66ce293dcf912e856512ab042685442cb1a604
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Oct 13 17:38:05 2010 +0000

    	* language.h (LA_PRINT_ARRAY_INDEX): Fix argument name.

commit ba4425ae906ea625835613f9152d5f0e8d4f6208
Author: Doug Evans <dje@google.com>
Date:   Wed Oct 13 15:10:07 2010 +0000

    	* c-typeprint.c: Whitespace cleanup.
    	(cp_type_print_method_args): Remove unnecessary forward decl.
    	(cp_type_print_derivation_info): Ditto.
    	(c_type_print_varspec_prefix): Mark as static at definition.
    	(c_type_print_modifier): Fix arg descriptions.

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

Summary of changes:
 bfd/ChangeLog                          |   32 +
 bfd/aoutx.h                            |   24 +-
 bfd/cofflink.c                         |   19 +-
 bfd/ecoff.c                            |  101 +-
 bfd/elflink.c                          |    9 +-
 bfd/linker.c                           |   41 +-
 bfd/pdp11.c                            |   18 +-
 bfd/version.h                          |    2 +-
 bfd/vms-alpha.c                        |   11 +-
 bfd/xcofflink.c                        |   23 +-
 gdb/ChangeLog                          |   33 +
 gdb/NEWS                               |    4 +
 gdb/c-typeprint.c                      |   20 +-
 gdb/data-directory/Makefile.in         |    3 +-
 gdb/doc/ChangeLog                      |    6 +
 gdb/doc/gdb.texinfo                    |   54 +
 gdb/gdbtypes.c                         |   94 +-
 gdb/gdbtypes.h                         |    3 +
 gdb/language.h                         |    2 +-
 gdb/p-lang.c                           |    6 +-
 gdb/python/lib/gdb/types.py            |   91 +
 gdb/testsuite/ChangeLog                |   15 +
 gdb/testsuite/gdb.cp/converts.cc       |   53 +
 gdb/testsuite/gdb.cp/converts.exp      |   48 +
 gdb/testsuite/gdb.cp/oranking.exp      |    1 -
 gdb/testsuite/gdb.cp/overload.cc       |    7 +
 gdb/testsuite/gdb.cp/overload.exp      |   10 +
 gdb/testsuite/gdb.python/Makefile.in   |    2 +-
 gdb/testsuite/gdb.python/lib-types.cc  |   61 +
 gdb/testsuite/gdb.python/lib-types.exp |  143 +
 gdb/testsuite/lib/gdb-python.exp       |   18 +
 gdb/version.in                         |    2 +-
 include/ChangeLog                      |   12 +
 include/bfdlink.h                      |    6 +-
 include/plugin-api.h                   |    3 +-
 opcodes/ChangeLog                      |   11 +
 opcodes/i386-gen.c                     |    1 +
 opcodes/i386-opc.h                     |    3 +
 opcodes/i386-opc.tbl                   |  368 +-
 opcodes/i386-tbl.h                     |14834 ++++++++++++++++----------------
 40 files changed, 8475 insertions(+), 7719 deletions(-)
 create mode 100644 gdb/python/lib/gdb/types.py
 create mode 100644 gdb/testsuite/gdb.cp/converts.cc
 create mode 100644 gdb/testsuite/gdb.cp/converts.exp
 create mode 100644 gdb/testsuite/gdb.python/lib-types.cc
 create mode 100644 gdb/testsuite/gdb.python/lib-types.exp

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 2e18e8c..7981dce 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,35 @@
+2010-10-14  Dave Korn  <dave.korn.cygwin@gmail.com> 
+
+	Apply LD plugin patch series (part 6/6).
+	* aoutx.h (aout_link_check_ar_symbols): Take new "subsbfd" reference
+	parameter and pass it when invoking add_archive_element callback.
+	(aout_link_check_archive_element): Handle substitute bfd if it
+	was set during add_archive_element callback in the above.
+	* cofflink.c (coff_link_check_ar_symbols): Take new "subsbfd" reference
+	parameter and pass it when invoking add_archive_element callback.
+	(coff_link_check_archive_element): Handle substitute bfd if it
+	was set during add_archive_element callback in the above.
+	* ecoff.c (read_ext_syms_and_strs): New function holds symbol-reading
+	code factored-out from ecoff_link_check_archive_element.
+	(reread_ext_syms_and_strs): Clear old symbols and call it.
+	(ecoff_link_check_archive_element):  Use the above.  Handle substitute
+	BFD if one is set by add_archive_element callback.
+	(ecoff_link_add_archive_symbols): Likewise allow bfd substitution.
+	* elflink.c (elf_link_add_archive_symbols): Likewise.
+	* linker.c (generic_link_check_archive_element): Likewise.
+	* pdp11.c (aout_link_check_ar_symbols): Take new "subsbfd" reference
+	parameter and pass it when invoking add_archive_element callback.
+	(aout_link_check_archive_element): Handle substitute bfd if it was
+	set during add_archive_element callback in the above.
+	* vms-alpha.c (alpha_vms_link_add_archive_symbols): Handle substitute
+	BFD if one is set by add_archive_element callback.
+	* xcofflink.c (xcoff_link_check_dynamic_ar_symbols): Take new "subsbfd"
+	reference parameter and pass it when invoking add_archive_element
+	callback.
+	(xcoff_link_check_ar_symbols): Likewise.
+	(xcoff_link_check_archive_element): Handle bfd substitution if it was
+	set by callback in the above.
+
 2010-10-11  Alan Modra  <amodra@gmail.com>
 
 	* elf32-frv.c (elf32_frv_relocate_section): Set "name" for global syms.
diff --git a/bfd/aoutx.h b/bfd/aoutx.h
index 11598a0..efa9d47 100644
--- a/bfd/aoutx.h
+++ b/bfd/aoutx.h
@@ -3210,7 +3210,8 @@ aout_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
 static bfd_boolean
 aout_link_check_ar_symbols (bfd *abfd,
 			    struct bfd_link_info *info,
-			    bfd_boolean *pneeded)
+			    bfd_boolean *pneeded,
+			    bfd **subsbfd)
 {
   struct external_nlist *p;
   struct external_nlist *pend;
@@ -3304,7 +3305,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 		continue;
 	    }
 
-	  if (! (*info->callbacks->add_archive_element) (info, abfd, name))
+	  if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, subsbfd))
 	    return FALSE;
 	  *pneeded = TRUE;
 	  return TRUE;
@@ -3331,9 +3333,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 			 outside BFD.  We assume that we should link
 			 in the object file.  This is done for the -u
 			 option in the linker.  */
-		      if (! (*info->callbacks->add_archive_element) (info,
-								     abfd,
-								     name))
+		      if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, subsbfd))
 			return FALSE;
 		      *pneeded = TRUE;
 		      return TRUE;
@@ -3381,7 +3382,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 	     it if the current link symbol is common.  */
 	  if (h->type == bfd_link_hash_undefined)
 	    {
-	      if (! (*info->callbacks->add_archive_element) (info, abfd, name))
+	      if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, subsbfd))
 		return FALSE;
 	      *pneeded = TRUE;
 	      return TRUE;
@@ -3402,15 +3404,21 @@ aout_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
 				 bfd_boolean *pneeded)
 {
+  bfd *subsbfd = NULL;
+
   if (! aout_get_external_symbols (abfd))
     return FALSE;
 
-  if (! aout_link_check_ar_symbols (abfd, info, pneeded))
+  if (! aout_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
     return FALSE;
 
   if (*pneeded)
     {
-      if (! aout_link_add_symbols (abfd, info))
+      /* Potentially, the add_archive_element hook may have set a
+	 substitute BFD for us.  */
+      if (subsbfd && !aout_get_external_symbols (subsbfd))
+	return FALSE;
+      if (! aout_link_add_symbols (subsbfd ? subsbfd : abfd, info))
 	return FALSE;
     }
 
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index a29b687..a28d396 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -197,7 +197,8 @@ coff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
 static bfd_boolean
 coff_link_check_ar_symbols (bfd *abfd,
 			    struct bfd_link_info *info,
-			    bfd_boolean *pneeded)
+			    bfd_boolean *pneeded,
+			    bfd **subsbfd)
 {
   bfd_size_type symesz;
   bfd_byte *esym;
@@ -243,7 +244,8 @@ coff_link_check_ar_symbols (bfd *abfd,
 	  if (h != (struct bfd_link_hash_entry *) NULL
 	      && h->type == bfd_link_hash_undefined)
 	    {
-	      if (! (*info->callbacks->add_archive_element) (info, abfd, name))
+	      if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, subsbfd))
 		return FALSE;
 	      *pneeded = TRUE;
 	      return TRUE;
@@ -267,14 +269,23 @@ coff_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
 				 bfd_boolean *pneeded)
 {
+  bfd *subsbfd = NULL;
+
   if (! _bfd_coff_get_external_symbols (abfd))
     return FALSE;
 
-  if (! coff_link_check_ar_symbols (abfd, info, pneeded))
+  if (! coff_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
+    return FALSE;
+
+  /* Potentially, the add_archive_element hook may have set a
+     substitute BFD for us.  */
+  if (*pneeded
+      && subsbfd
+      && ! _bfd_coff_get_external_symbols (subsbfd))
     return FALSE;
 
   if (*pneeded
-      && ! coff_link_add_symbols (abfd, info))
+      && ! coff_link_add_symbols (subsbfd ? subsbfd : abfd, info))
     return FALSE;
 
   if ((! info->keep_memory || ! *pneeded)
diff --git a/bfd/ecoff.c b/bfd/ecoff.c
index af9d7d6..37003d2 100644
--- a/bfd/ecoff.c
+++ b/bfd/ecoff.c
@@ -3509,6 +3509,58 @@ ecoff_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
   return FALSE;
 }
 
+/* Factored out from ecoff_link_check_archive_element.  */
+
+static bfd_boolean
+read_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
+	bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
+	const struct ecoff_backend_data * const backend)
+{
+  if (! ecoff_slurp_symbolic_header (abfd))
+    return FALSE;
+
+  /* If there are no symbols, we don't want it.  */
+  if (bfd_get_symcount (abfd) == 0)
+    return TRUE;
+
+  *symhdr = &ecoff_data (abfd)->debug_info.symbolic_header;
+
+  *external_ext_size = backend->debug_swap.external_ext_size;
+  *esize = (*symhdr)->iextMax * *external_ext_size;
+  *external_ext = bfd_malloc (*esize);
+  if (*external_ext == NULL && *esize != 0)
+    return FALSE;
+
+  if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbExtOffset, SEEK_SET) != 0
+      || bfd_bread (*external_ext, *esize, abfd) != *esize)
+    return FALSE;
+
+  *ssext = (char *) bfd_malloc ((bfd_size_type) (*symhdr)->issExtMax);
+  if (*ssext == NULL && (*symhdr)->issExtMax != 0)
+    return FALSE;
+
+  if (bfd_seek (abfd, (file_ptr) (*symhdr)->cbSsExtOffset, SEEK_SET) != 0
+      || (bfd_bread (*ssext, (bfd_size_type) (*symhdr)->issExtMax, abfd)
+	  != (bfd_size_type) (*symhdr)->issExtMax))
+    return FALSE;
+  return TRUE;
+}
+
+static bfd_boolean
+reread_ext_syms_and_strs (HDRR **symhdr, bfd_size_type *external_ext_size,
+	bfd_size_type *esize, void **external_ext, char **ssext, bfd *abfd,
+	const struct ecoff_backend_data * const backend)
+{
+  if (*external_ext != NULL)
+    free (*external_ext);
+  *external_ext = NULL;
+  if (*ssext != NULL)
+    free (*ssext);
+  *ssext = NULL;
+  return read_ext_syms_and_strs (symhdr, external_ext_size, esize,
+				external_ext, ssext, abfd, backend);
+}
+
 /* This is called if we used _bfd_generic_link_add_archive_symbols
    because we were not dealing with an ECOFF archive.  */
 
@@ -3530,35 +3582,15 @@ ecoff_link_check_archive_element (bfd *abfd,
 
   *pneeded = FALSE;
 
-  if (! ecoff_slurp_symbolic_header (abfd))
+  /* Read in the external symbols and external strings.  */
+  if (!read_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
+	&external_ext, &ssext, abfd, backend))
     goto error_return;
 
   /* If there are no symbols, we don't want it.  */
   if (bfd_get_symcount (abfd) == 0)
     goto successful_return;
 
-  symhdr = &ecoff_data (abfd)->debug_info.symbolic_header;
-
-  /* Read in the external symbols and external strings.  */
-  external_ext_size = backend->debug_swap.external_ext_size;
-  esize = symhdr->iextMax * external_ext_size;
-  external_ext = bfd_malloc (esize);
-  if (external_ext == NULL && esize != 0)
-    goto error_return;
-
-  if (bfd_seek (abfd, (file_ptr) symhdr->cbExtOffset, SEEK_SET) != 0
-      || bfd_bread (external_ext, esize, abfd) != esize)
-    goto error_return;
-
-  ssext = (char *) bfd_malloc ((bfd_size_type) symhdr->issExtMax);
-  if (ssext == NULL && symhdr->issExtMax != 0)
-    goto error_return;
-
-  if (bfd_seek (abfd, (file_ptr) symhdr->cbSsExtOffset, SEEK_SET) != 0
-      || (bfd_bread (ssext, (bfd_size_type) symhdr->issExtMax, abfd)
-	  != (bfd_size_type) symhdr->issExtMax))
-    goto error_return;
-
   /* Look through the external symbols to see if they define some
      symbol that is currently undefined.  */
   ext_ptr = (char *) external_ext;
@@ -3568,6 +3600,7 @@ ecoff_link_check_archive_element (bfd *abfd,
       EXTR esym;
       bfd_boolean def;
       const char *name;
+      bfd *subsbfd;
       struct bfd_link_hash_entry *h;
 
       (*swap_ext_in) (abfd, (void *) ext_ptr, &esym);
@@ -3612,9 +3645,18 @@ ecoff_link_check_archive_element (bfd *abfd,
 	continue;
 
       /* Include this element.  */
-      if (! (*info->callbacks->add_archive_element) (info, abfd, name))
+      subsbfd = NULL;
+      if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, &subsbfd))
+	goto error_return;
+      /* Potentially, the add_archive_element hook may have set a
+	 substitute BFD for us.  */
+      if (subsbfd
+	  && !reread_ext_syms_and_strs (&symhdr, &external_ext_size, &esize,
+				&external_ext, &ssext, subsbfd, backend))
 	goto error_return;
-      if (! ecoff_link_add_externals (abfd, info, external_ext, ssext))
+      if (! ecoff_link_add_externals (subsbfd ? subsbfd : abfd, info,
+				external_ext, ssext))
 	goto error_return;
 
       *pneeded = TRUE;
@@ -3691,6 +3733,7 @@ ecoff_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
       unsigned int file_offset;
       const char *name;
       bfd *element;
+      bfd *subsbfd;
 
       h = *pundef;
 
@@ -3777,9 +3820,13 @@ ecoff_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
       /* Unlike the generic linker, we know that this element provides
 	 a definition for an undefined symbol and we know that we want
 	 to include it.  We don't need to check anything.  */
-      if (! (*info->callbacks->add_archive_element) (info, element, name))
+      subsbfd = NULL;
+      if (! (*info->callbacks->add_archive_element)
+					(info, element, name, &subsbfd))
 	return FALSE;
-      if (! ecoff_link_add_object_symbols (element, info))
+      /* Potentially, the add_archive_element hook may have set a
+	 substitute BFD for us.  */
+      if (! ecoff_link_add_object_symbols (subsbfd ? subsbfd : element, info))
 	return FALSE;
 
       pundef = &(*pundef)->u.undef.next;
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 41fba17..6d37dc8 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -5011,6 +5011,7 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
 	{
 	  struct elf_link_hash_entry *h;
 	  bfd *element;
+	  bfd *subsbfd = NULL;
 	  struct bfd_link_hash_entry *undefs_tail;
 	  symindex mark;
 
@@ -5073,10 +5074,12 @@ elf_link_add_archive_symbols (bfd *abfd, struct bfd_link_info *info)
 
 	  undefs_tail = info->hash->undefs_tail;
 
-	  if (! (*info->callbacks->add_archive_element) (info, element,
-							 symdef->name))
+	  if (! (*info->callbacks->add_archive_element)
+				(info, element, symdef->name, &subsbfd))
 	    goto error_return;
-	  if (! bfd_link_add_symbols (element, info))
+	  /* Potentially, the add_archive_element hook may have set a
+	     substitute BFD for us.  */
+	  if (! bfd_link_add_symbols (subsbfd ? subsbfd : element, info))
 	    goto error_return;
 
 	  /* If there are any new undefined symbols, we need to make
diff --git a/bfd/linker.c b/bfd/linker.c
index 76bc70a..fc52b51 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -223,7 +223,10 @@ SUBSUBSECTION
 	archive and decide which elements of the archive should be
 	included in the link.  For each such element it must call the
 	<<add_archive_element>> linker callback, and it must add the
-	symbols from the object file to the linker hash table.
+	symbols from the object file to the linker hash table.  (The
+	callback may in fact indicate that a replacement BFD should be
+	used, in which case the symbols from that BFD should be added
+	to the linker hash table instead.)
 
 @findex _bfd_generic_link_add_archive_symbols
 	In most cases the work of looking through the symbols in the
@@ -243,9 +246,13 @@ SUBSUBSECTION
 	element should be included in the link.  If the element is to
 	be included, the <<add_archive_element>> linker callback
 	routine must be called with the element as an argument, and
-	the elements symbols must be added to the linker hash table
+	the element's symbols must be added to the linker hash table
 	just as though the element had itself been passed to the
-	<<_bfd_link_add_symbols>> function.
+	<<_bfd_link_add_symbols>> function.  The <<add_archive_element>>
+	callback has the option to indicate that it would like to
+	replace the element archive with a substitute BFD, in which
+	case it is the symbols of that substitute BFD that must be
+	added to the linker hash table instead.
 
 	When the a.out <<_bfd_link_add_symbols>> function receives an
 	archive, it calls <<_bfd_generic_link_add_archive_symbols>>
@@ -257,7 +264,8 @@ SUBSUBSECTION
 	symbol) it calls the <<add_archive_element>> callback and then
 	<<aout_link_check_archive_element>> calls
 	<<aout_link_add_symbols>> to actually add the symbols to the
-	linker hash table.
+	linker hash table - possibly those of a substitute BFD, if the
+	<<add_archive_element>> callback avails itself of that option.
 
 	The ECOFF back end is unusual in that it does not normally
 	call <<_bfd_generic_link_add_archive_symbols>>, because ECOFF
@@ -957,8 +965,10 @@ archive_hash_table_init
    included.  CHECKFN should set *PNEEDED to TRUE if the object file
    should be included, and must also call the bfd_link_info
    add_archive_element callback function and handle adding the symbols
-   to the global hash table.  CHECKFN should only return FALSE if some
-   sort of error occurs.
+   to the global hash table.  CHECKFN must notice if the callback
+   indicates a substitute BFD, and arrange to add those symbols instead
+   if it does so.  CHECKFN should only return FALSE if some sort of
+   error occurs.
 
    For some formats, such as a.out, it is possible to look through an
    object file but not actually include it in the link.  The
@@ -1213,11 +1223,20 @@ generic_link_check_archive_element (bfd *abfd,
 	{
 	  bfd_size_type symcount;
 	  asymbol **symbols;
+	  bfd *subsbfd = NULL;
 
 	  /* This object file defines this symbol, so pull it in.  */
-	  if (! (*info->callbacks->add_archive_element) (info, abfd,
-							 bfd_asymbol_name (p)))
+	  if (! (*info->callbacks->add_archive_element)
+				(info, abfd, bfd_asymbol_name (p), &subsbfd))
 	    return FALSE;
+	  /* Potentially, the add_archive_element hook may have set a
+	     substitute BFD for us.  */
+	  if (subsbfd)
+	    {
+	      abfd = subsbfd;
+	      if (!bfd_generic_link_read_symbols (abfd))
+		return FALSE;
+	    }
 	  symcount = _bfd_generic_link_get_symcount (abfd);
 	  symbols = _bfd_generic_link_get_symbols (abfd);
 	  if (! generic_link_add_symbol_list (abfd, info, symcount,
@@ -1238,12 +1257,16 @@ generic_link_check_archive_element (bfd *abfd,
 	  symbfd = h->u.undef.abfd;
 	  if (symbfd == NULL)
 	    {
+	      bfd *subsbfd = NULL;
 	      /* This symbol was created as undefined from outside
 		 BFD.  We assume that we should link in the object
 		 file.  This is for the -u option in the linker.  */
 	      if (! (*info->callbacks->add_archive_element)
-		  (info, abfd, bfd_asymbol_name (p)))
+				(info, abfd, bfd_asymbol_name (p), &subsbfd))
 		return FALSE;
+	      /* Potentially, the add_archive_element hook may have set a
+		 substitute BFD for us.  But no symbols are going to get
+		 registered by anything we're returning to from here.  */
 	      *pneeded = TRUE;
 	      return TRUE;
 	    }
diff --git a/bfd/pdp11.c b/bfd/pdp11.c
index 1a7694c..5f4d28c 100644
--- a/bfd/pdp11.c
+++ b/bfd/pdp11.c
@@ -2545,7 +2545,8 @@ aout_link_add_object_symbols (bfd *abfd, struct bfd_link_info *info)
 static bfd_boolean
 aout_link_check_ar_symbols (bfd *abfd,
 			    struct bfd_link_info *info,
-			    bfd_boolean *pneeded)
+			    bfd_boolean *pneeded,
+			    bfd **subsbfd)
 {
   struct external_nlist *p;
   struct external_nlist *pend;
@@ -2600,7 +2601,8 @@ aout_link_check_ar_symbols (bfd *abfd,
 	     but not if it is defined in the .text section.  That
 	     seems a bit crazy to me, and I haven't implemented it.
 	     However, it might be correct.  */
-	  if (! (*info->callbacks->add_archive_element) (info, abfd, name))
+	  if (! (*info->callbacks->add_archive_element)
+					(info, abfd, name, subsbfd))
 	    return FALSE;
 	  *pneeded = TRUE;
 	  return TRUE;
@@ -2628,7 +2630,7 @@ aout_link_check_ar_symbols (bfd *abfd,
 			 in the object file.  This is done for the -u
 			 option in the linker.  */
 		      if (! (*info->callbacks->add_archive_element)
-			  (info, abfd, name))
+			  (info, abfd, name, subsbfd))
 			return FALSE;
 		      *pneeded = TRUE;
 		      return TRUE;
@@ -2680,15 +2682,21 @@ aout_link_check_archive_element (bfd *abfd,
 				 struct bfd_link_info *info,
 				 bfd_boolean *pneeded)
 {
+  bfd *subsbfd = NULL;
+
   if (! aout_get_external_symbols (abfd))
     return FALSE;
 
-  if (! aout_link_check_ar_symbols (abfd, info, pneeded))
+  if (! aout_link_check_ar_symbols (abfd, info, pneeded, &subsbfd))
     return FALSE;
 
   if (*pneeded)
     {
-      if (! aout_link_add_symbols (abfd, info))
+      /* Potentially, the add_archive_element hook may have set a
+	 substitute BFD for us.  */
+      if (subsbfd && ! aout_get_external_symbols (subsbfd))
+	return FALSE;
+      if (! aout_link_add_symbols (subsbfd ? subsbfd : abfd, info))
 	return FALSE;
     }
 
diff --git a/bfd/version.h b/bfd/version.h
index 6ec0248..39625fd 100644
--- a/bfd/version.h
+++ b/bfd/version.h


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


             reply	other threads:[~2010-10-14 20:55 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-14 20:55 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2011-02-01 19:25 jkratoch
2011-01-29 16:44 jkratoch
2011-01-25 12:53 pmuldoon
2011-01-25  9:10 jkratoch
2011-01-17 13:31 pmuldoon
2011-01-15 11:35 jkratoch
2011-01-14  8:04 jkratoch
2011-01-10 12:00 pmuldoon
2011-01-10  9:10 jkratoch
2011-01-07  5:57 jkratoch
2011-01-06 12:22 pmuldoon
2011-01-04  4:59 jkratoch
2010-12-31 22:30 jkratoch
2010-12-30  7:22 jkratoch
2010-12-22 20:11 swagiaal
2010-12-14 17:13 jkratoch
2010-12-14  8:27 pmuldoon
2010-12-10 17:16 jkratoch
2010-12-08 15:55 pmuldoon
2010-12-06  6:40 jkratoch
2010-12-04  1:03 jkratoch
2010-12-02 15:47 pmuldoon
2010-11-30  0:15 jkratoch
2010-11-28 18:02 jkratoch
2010-11-28  5:41 jkratoch
2010-11-16  5:04 jkratoch
2010-11-12 11:47 pmuldoon
2010-11-11 11:39 pmuldoon
2010-11-10  9:09 pmuldoon
2010-11-08  9:34 pmuldoon
2010-11-07 18:15 jkratoch
2010-10-22 14:28 pmuldoon
2010-10-20 12:48 pmuldoon
2010-10-19 16:01 pmuldoon
2010-10-17 20:27 jkratoch
2010-10-15 17:07 jkratoch
2010-10-13 15:06 jkratoch
2010-10-12 16:45 jkratoch
2010-10-11  9:21 jkratoch
2010-10-11  8:47 pmuldoon
2010-10-06  9:00 pmuldoon
2010-09-30  8:56 pmuldoon
2010-09-27  9:48 jkratoch
2010-09-20 12:34 pmuldoon
2010-09-16 20:49 ratmice
2010-09-04 19:59 jkratoch
2010-09-03  7:26 jkratoch
2010-09-02 15:04 jkratoch
2010-09-01 15:29 swagiaal
2010-08-23 13:54 jkratoch
2010-08-20 17:49 jkratoch
2010-08-12 15:19 swagiaal
2010-08-06 15:32 jkratoch
2010-07-29 19:17 swagiaal
2010-07-22 16:57 jkratoch
2010-07-22 16:26 jkratoch
2010-07-20 18:51 jkratoch
2010-07-09  8:09 jkratoch
2010-06-24  8:55 jkratoch
2010-06-23 20:56 jkratoch
2010-06-17 12:53 jkratoch
2010-06-07  8:14 jkratoch
2010-06-02 19:03 jkratoch
2010-05-28 21:27 jkratoch
2010-05-26 18:36 swagiaal
2010-05-17 18:02 jkratoch
2010-05-17  1:04 jkratoch
2010-05-10 19:30 swagiaal
2010-05-05 14:24 swagiaal
2010-05-03 13:49 jkratoch
2010-05-03  8:48 jkratoch
2010-05-02 23:10 jkratoch
2010-05-02 15:54 jkratoch
2010-04-30  7:11 jkratoch
2010-04-28 11:44 jkratoch
2010-04-25 20:22 jkratoch
2010-04-09 20:37 jkratoch
2010-04-07  1:41 jkratoch
2010-04-05 10:11 jkratoch
2010-04-04 11:58 jkratoch
2010-03-22 23:58 jkratoch
2010-03-20 17:23 jkratoch
2010-03-18 10:01 jkratoch
2010-03-17 18:04 jkratoch
2010-03-12 18:35 jkratoch
2010-03-04 22:28 jkratoch
2010-03-01 22:16 jkratoch
2010-02-26 22:16 jkratoch
2010-02-26 17:50 jkratoch
2010-02-17 16:01 swagiaal
2010-02-13 22:51 jkratoch
2010-02-11 12:51 jkratoch
2010-02-09 19:01 jkratoch
2010-02-08 21:46 jkratoch
2010-02-03  4:38 jkratoch
2010-01-31 17:25 jkratoch
2010-01-28 19:17 swagiaal
2010-01-28 10:56 jkratoch
2010-01-27 19:21 swagiaal
2010-01-27  8:08 jkratoch
2010-01-26 18:58 swagiaal
2010-01-20 21:48 jkratoch
2010-01-15  2:09 jkratoch
2010-01-15  0:52 jkratoch
2010-01-14 22:23 jkratoch
2010-01-13 20:53 jkratoch
2010-01-10 20:47 jkratoch
2010-01-09 10:03 jkratoch
2010-01-09  8:41 jkratoch
2010-01-08 19:16 jkratoch
2009-12-06 17:43 jkratoch
2009-12-03 16:32 jkratoch
2009-11-30 13:59 jkratoch
2009-11-24 21:21 jkratoch
2009-11-21  9:24 jkratoch
2009-11-20 21:06 jkratoch
2009-11-20 15:57 jkratoch
2009-11-17 19:59 jkratoch
2009-11-16  2:22 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101014205548.5895.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).