Commit graph

64593 commits

Author SHA1 Message Date
Masaki Muranaka
2388a1526b * configure.in: Check if the host has getopt.h.
* configure: Regenerate.
        * config.in: Regenerate.
        * main.c: Include config.h.
        Use HAVE_STDLIB_H, HAVE_UNISTD_H, HAVE_GETOPT_H.
        Include getopt.h in case HAVE_GETOPT_H is defined.
2010-02-14 07:37:11 +00:00
Masaki Muranaka
22e041e267 * interp.c: Don't include sysdep.h.
Include stdio.h and errno.h.
 	Include string.h strings.h stdlib.h sys/stat.h if present.
2010-02-14 07:15:57 +00:00
Masaki Muranaka
bf6adea875 * MAINTAINERS: Add myself for write after approval privileges. 2010-02-14 06:50:44 +00:00
gdbadmin
0aa56dbe70 *** empty log message *** 2010-02-14 00:00:03 +00:00
Alan Modra
8c07da9871 daily update 2010-02-13 23:00:04 +00:00
Jan Kratochvil
28f34a8f20 gdb/
* solib-svr4.c: (LM_ADDR_CHECK): Move variable align to a more inner
	block.
2010-02-13 13:36:55 +00:00
Jan Kratochvil
701ed6dcfb gdb/
* solib-svr4.c: (LM_ADDR_CHECK): Print successful prelink adjustment
	only if INFO_VERBOSE.

gdb/testsuite/
	* gdb.base/prelink.exp (set verbose on): New.
2010-02-13 12:02:29 +00:00
Joel Brobecker
c09529e5f8 Document new gdb_test_timeout global variable.
* gdbint.texinfo (Testsuite): New section "Testsuite Configuration",
        documenting the gdb_test_timeout variable.
2010-02-13 04:57:11 +00:00
Doug Evans
c5351010e0 regenerate cgen-based files 2010-02-13 04:44:41 +00:00
Doug Evans
fee1d3e815 * lm32-opinst.c: Regenerate. 2010-02-13 04:38:57 +00:00
Sriraman Tallam
21bb3914d6 2010-02-12 Sriraman Tallam <tmsriram@google.com>
* arm.cc (Scan::local_reloc_may_be_function_pointer): New function.
	(Scan::global_reloc_may_be_function_pointer): New function.
	* sparc.cc (Scan::local_reloc_may_be_function_pointer): New function.
	(Scan::global_reloc_may_be_function_pointer): New function.
	* powerpc.cc (Scan::local_reloc_may_be_function_pointer): New function.
	(Scan::global_reloc_may_be_function_pointer): New function.
	* i386.cc (Scan::local_reloc_may_be_function_pointer): New function.
	(Scan::global_reloc_may_be_function_pointer): New function.
	* x86_64.cc (Scan::local_reloc_may_be_function_pointer): New function.
	(Scan::global_reloc_may_be_function_pointer): New function.
	(Scan::possible_function_pointer_reloc): New function.
	(Target_x86_64::can_check_for_function_pointers): New function.
	* gc.h (gc_process_relocs): Scan relocation types to determine if
	function pointers were taken for targets that support it.
	* icf.cc (Icf::find_identical_sections): Include functions for
	folding in safe ICF whose pointer is not taken.
	* icf.h (Secn_fptr_taken_set): New typedef.
	(fptr_section_id_): New member.
	(section_has_function_pointers): New function.
	(set_section_has_function_pointers): New function.
	(check_section_for_function_pointers): New function.
	* options.h: Fix comment for safe ICF option.
	* target.h (can_check_for_function_pointers): New function.
	* testsuite/Makefile.am: Add icf_safe_so_test test case.
	Modify icf_safe_test for X86-64.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/icf_safe_so_test.cc: New file.
	* testsuite/icf_safe_so_test.sh: New file.
	* testsuite/icf_safe_test.cc (kept_func_3): New function.
	(main): Change to take pointer to function kept_func_3.
	* testsuite/icf_safe_test.sh (arch_specific_safe_fold): Check if safe
	folding is done correctly for X86-64.
2010-02-13 02:04:21 +00:00
Doug Evans
6076632b70 * linux-low.c (linux_supports_tracefork_flag): Document.
(linux_look_up_symbols): Add comment.
2010-02-13 01:13:54 +00:00
David S. Miller
0da6fa6c5b * output.h (Output_reloc<SHT_REL>::Output_reloc): Add
is_symbolless parameter.
	(Output_reloc<SHT_REL>::is_symbolless): New.
	(Output_reloc<SHT_REL>::is_symbolless_): New.
	(Output_reloc<SHT_REL>::type_): Decrease to 29 bits.
	(Output_reloc<SHT_RELA>::Output_reloc): Add is_symbolless parameter.
	(Output_reloc<SHT_RELA>::is_symbolless): New.
	(Output_data_reloc::add_global): Handle is_symbolless.
	(Output_data_reloc::add_global_relative): Likewise.
	(Output_data_reloc::add_local): Likewise.
	(Output_data_reloc::add_local_relative): Likewise.
	(Output_data_reloc::add_symbolless_global_addend): New.
	(Output_data_reloc::add_symbolless_local_addend): New.
	* output.cc (Output_reloc<SHT_REL>::Output_reloc): Handle
	is_symbolless.
	(Output_reloc::set_needs_dynsym_index): Test ->is_symbolless_
	instead of ->is_relative_
	(Output_reloc::write): Likewise.
	(Output_reloc::get_symbol_index): Return 0 when ->is_symbolless_
	(Output_reloc::write_rel): Simplify.

	* sparc.cc (Target_sparc::Scan::local): Use
	->add_symbolless_local_addend as needed.
	(Target_sparc::Scan::global): Use ->add_symbolless_global_addend as
	needed.  Also, emit appropriate unaligned vs. aligned dynamic reloc
	based upon relocation offset.
2010-02-13 00:01:20 +00:00
gdbadmin
bbad93606c *** empty log message *** 2010-02-13 00:00:33 +00:00
Alan Modra
2481751d58 daily update 2010-02-12 23:00:05 +00:00
Michael Snyder
fa19b4e579 2010-02-12 Tomas Holmberg <th@virtutech.com>
* mi-reverse.exp: New file. Test for reverse option to the
	following MI commands: exec-continue, exec-finish, exec-next,
	exec-step, exec-next-instruction, exec-step-instruction.
2010-02-12 21:39:27 +00:00
Michael Snyder
540aa8e790 2010-02-12 Jakob Engblom <jakob@virtutech.com>
* gdb.texinfo (MI commands): Added documentation of --reverse
	option to a set of MI commands. Restructured documentation of MI
	commands --exec-continue to reflect the complexity of reverse
	execution.
2010-02-12 21:35:54 +00:00
Michael Snyder
e5829bee48 2010-02-12 Tomas Holmberg <th@virtutech.com>
* mi/mi-main.c: Added the --reverse flag to the following MI
	commands: exec-continue, exec-finish, exec-next, exec-step,
	exec-next-instruction, exec-step-instruction. This is to
	support reverse execution over the MI interface to gdb.
2010-02-12 21:28:25 +00:00
Daniel Gutson
3381116249 2010-02-12 Daniel Gutson <dgutson@codesourcery.com>
bfd/
	* elf32-arm.c (elf32_arm_output_arch_local_syms): add
	missing mapping symbol to data only sections.

	ld/testsuite/
	* ld-arm/arm-elf.exp (armelftests): New test case added.
	* ld-arm/data-only-map.s: New file.
	* ld-arm/data-only-map.d: New file.
	* ld-arm/data-only-map.ld: New file.
2010-02-12 20:52:52 +00:00
Daniel Gutson
77551a33a8 *** empty log message *** 2010-02-12 20:18:47 +00:00
Daniel Gutson
5be8be5d5d gas/
* config/tc-arm.c (asm_opcode): operands type
	change.
	(BAD_PC_ADDRESSING): New macro message.
	(BAD_PC_WRITEBACK): Likewise.
	(MIX_ARM_THUMB_OPERANDS): New macro.
	(operand_parse_code): Added enum values.
	(parse_operands): Added thumb/arm distinction,
	plus new enum values handling.
	(encode_arm_addr_mode_2): Validations enhanced.
	(encode_arm_addr_mode_3): Likewise.
	(do_rm_rd_rn): Likewise.
	(encode_thumb32_addr_mode): Likewise.
	(do_t_ldrex): Likewise.
	(do_t_ldst): Likewise.
	(do_t_strex): Likewise.
	(md_assemble): Call parse_operands with
	a new parameter.
	(OPS_1): New macro.
	(OPS_2): Likewise.
	(OPS_3): Likewise.
	(OPS_4): Likewise.
	(OPS_5): Likewise.
	(OPS_6): Likewise.
	(insns): Updated insns operands.

	gas/testsuite/
	* gas/arm/sp-pc-validations-bad.d: New testcase.
	* gas/arm/sp-pc-validations-bad.l: New file.
	* gas/arm/sp-pc-validations-bad.s: New file.
	* gas/arm/sp-pc-validations-bad-t.d: New testcase.
	* gas/arm/sp-pc-validations-bad-t.l: New file.
	* gas/arm/sp-pc-validations-bad-t.s: New file.
	* gas/arm/sp-pc-usage-t.d: Removed invalid insns.
	* gas/arm/sp-pc-usage-t.s: Likewise.
	* gas/arm/unpredictable.d: Likewise.
	* gas/arm/unpredictable.s: Likewise.
	* gas/arm/thumb2_bcond.d: Added test.
	* gas/arm/thumb2_bcond.s: Likewise.
2010-02-12 20:15:13 +00:00
Pedro Alves
081dfbf778 gdb/doc/
* gdb.texinfo (Using the Collected Data): Specify that the address
	range of `tfind outsize' is exclusive, and that the address range
	of `tfind range' is inclusive.
	(Tracepoint Packets): Specify that the address range of
	`QTFrame:range' is inclusive, and that the address range of
	`QTFrame:outside' is exclusive

	gdb/
	* tracepoint.c (_initialize_tracepoint): Specify that the address
	range of `tfind outsize' is exclusive, and that the address range
	of `tfind range' is inclusive, in the commands' help strings.
2010-02-12 16:15:24 +00:00
Tristan Gingold
9d0e849713 gas/
2010-02-12  Tristan Gingold  <gingold@adacore.com>
	    Douglas B Rupp  <rupp@gnat.com>

	* config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
	(DUMMY_RELOC_IA64_SLOTCOUNT): Added.
	(pseudo_func): Add an entry for slotcount.
	(md_begin): Initialize slotcount pseudo symbol.
	(ia64_parse_name): Handle @slotcount parameter.
	(ia64_gen_real_reloc_type): Handle slotcount.
	(md_apply_fix): Ditto.
	* doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.

gas/testsuite/
2010-02-12  Tristan Gingold  <gingold@adacore.com>

	* gas/ia64/slotcount.s, gas/ia64/slotcount.s: New test.
	* gas/ia64/ia64.exp: Add slotcount test (vms only).
2010-02-12 14:34:45 +00:00
Vladimir Prus
8e9c5e020f * gdb.texinfo (GDB/MI Result Records): Clarify ^running. 2010-02-12 10:34:47 +00:00
Doug Kwan
e4782e8381 2010-02-11 Doug Kwan <dougkwan@google.com>
* arm.cc (Target_arm::Scan::local): Fix bugs in relocation handling.
	(Target_arm::Scan::global): Ditto.  Also remove a comment before the
	beginning of function.
	(Target_arm::Relocate::relocate): Remove error messages for MOVW_ABS
	and MOVT_ABS relocations.  Those are non issued in scanning.  Fix
	parameter is_32bit in calls to should_apply_static_reloc.
	* testsuite/Makefile.am (check_SCRIPTS): Add arm_abs_global.sh.
	(check_DATA): Add arm_abs_global.stdout.
	(arm_abs_lib.o, libarm_abs.so, arm_abs_global.o, arm_abs_global,
	arm_abs_global.stdout): New rules.
	(MOSTLLYCLEANFILES): Add arm_abs_global
	* Makefile.in: Regenerate.
	* testsuite/arm_abs_global.s: New file.
	* testsuite/arm_abs_global.sh: Ditto.
	* testsuite/arm_abs_lib.s: Ditto.
2010-02-12 05:51:32 +00:00
Joel Brobecker
ecc13e538f Spurious "dll not found" error messages on x64-windows.
* windows-nat.c: Add include of complaints.h.
        (handle_unload_dll): Change dll-not-found error into a complaint.
2010-02-12 04:55:15 +00:00
Doug Evans
9468ae8905 * cgen-dis.in (print_normal): Delete CGEN_PRINT_NORMAL.
(print_address): Delete CGEN_PRINT_ADDRESS.
	* fr30-dis.c, * frv-dis.c, * ip2k-dis.c, * iq2000-dis.c,
	* lm32-dis.c, * m32c-dis.c, * m32r-desc.c, * m32r-desc.h,
	* m32r-dis.c, * mep-dis.c, * mt-dis.c, * openrisc-dis.c,
	* xc16x-dis.c, * xstormy16-dis.c: Regenerate.
2010-02-12 04:42:28 +00:00
Doug Evans
5ff58fb071 * m32r.cpu (HASH-PREFIX): Delete.
(duhpo, dshpo): New pmacros.
	(simm8, simm16): Delete HASH-PREFIX attribute, define with dshpo.
	(uimm3, uimm4, uimm5, uimm8, uimm16, imm1): Delete HASH-PREFIX
	attribute, define with dshpo.
	(uimm24): Delete HASH-PREFIX attribute.
	* m32r.opc (CGEN_PRINT_NORMAL): Delete.
	(print_signed_with_hash_prefix): New function.
	(print_unsigned_with_hash_prefix): New function.
	* xc16x.cpu (dowh): New pmacro.
	(upof16): Define with dowh, specify print handler.
	(qbit, qlobit, qhibit): Ditto.
	(upag16): Ditto.
	* xc16x.opc (CGEN_PRINT_NORMAL): Delete.
	(print_with_dot_prefix): New functions.
	(print_with_pof_prefix, print_with_pag_prefix): New functions.
2010-02-12 04:38:21 +00:00
Ian Lance Taylor
93ceb76464 * gold.cc (queue_middle_gc_tasks): Use a separate blocker for each
Read_relocs task.
	(queue_middle_tasks): Likewise, and also for Scan_relocs.  Run
	Allocate_commons_task first.
	* reloc.cc (Read_relocs::run): Pass next_blocker_ down to next
	task, rather than symtab_lock_.
	(Gc_process_relocs::~Gc_process_relocs): New function.
	(Gc_process_relocs::is_runnable): Check this_blocker_.
	(Gc_process_relocs::locks): Use next_blocker_ rather than
	blocker_.
	(Scan_relocs::~Scan_relocs): New function.
	(Scan_relocs::is_runnable): Check this_blocker_ rather than
	symtab_lock_.
	(Scan_relocs::locks): Drop symtab_lock_ and blocker_.  Add
	next_blocker_.
	* reloc.h (class Read_relocs): Drop symtab_lock_ and blocker_
	fields.  Add this_blocker_ and next_blocker_ fields.  Adjust
	constructor accordingly.
	(class Gc_process_relocs): Likewise.
	(class Scan_relocs): Likewise.
	* common.h (class Allocate_commons_task): Remove symtab_lock_
	field, and corresponding constructor parameter.
	* common.cc (Allocate_commons_tasK::is_runnable): Remove use of
	symtab_lock_.
	(Allocate_commons_task::locks): Likewise.
2010-02-12 04:33:53 +00:00
Doug Evans
37ec92403b * fr30-desc.c, * fr30-desc.h, * fr30-opc.c,
* frv-desc.c, * frv-desc.h, * frv-opc.c,
	* ip2k-desc.c, * ip2k-desc.h, * ip2k-opc.c,
	* iq2000-desc.c, * iq2000-desc.h, * iq2000-opc.c,
	* lm32-desc.c, * lm32-desc.h, * lm32-opc.c, * lm32-opinst.c,
	* m32c-desc.c, * m32c-desc.h, * m32c-opc.c,
	* m32r-desc.c, * m32r-desc.h, * m32r-opc.c, * m32r-opinst.c,
	* mep-desc.c, * mep-desc.h, * mep-opc.c,
	* mt-desc.c, * mt-desc.h, * mt-opc.c,
	* openrisc-desc.c, * openrisc-desc.h, * openrisc-opc.c,
	* xc16x-desc.c, * xc16x-desc.h, * xc16x-opc.c,
	* xstormy16-desc.c, * xstormy16-desc.h, * xstormy16-opc.c: Regenerate.
2010-02-12 03:25:49 +00:00
Ian Lance Taylor
114dfbe13e * gold-threads.h (class Once): Define.
(class Initialize_lock): Rewrite as child of Once.
	* gold-threads.cc (class Once_initialize): Define.
	(once_pointer_control): New static variable.
	(once_pointer, once_arg): New static variables.
	(c_run_once): New static function.
	(Once::Once, Once::run_once, Once::internal_run): New functions.
	(class Initialize_lock_once): Remove.
	(initialize_lock_control): Remove.
	(initialize_lock_pointer): Remove.
	(initialize_lock_once): Remove.
	(Initialize_lock::Initialize_lock): Move to gold-threads.h.
	(Initialize_lock::initialize): Rewrite.
	(Initialize_lock::do_run_once): New function.
	* archive.cc (Archive::interpret_header): Only clear name if it is
	not already empty.
	* fileread.cc: Include "gold-threads.h"
	(file_counts_lock): New static variable.
	(file_counts_initialize_lock): Likewise.
	(File_read::release): Only increment counts when using --stats.
	Use a lock around the increment.
	* parameters.cc (class Set_parameters_target_once): Define.
	(set_parameters_target_once): New static variable.
	(Parameters::Parameters): Move here from parameters.h.
	(Parameters::set_target): Rewrite.
	(Parameters::set_target_once): New function.
	(Parameters::clear_target): Move here and rewrite.
	* parameters.h (class Parameters): Update declarations.  Add
	set_parameters_target_once_ field.
	(Parameters::Parameters): Move to parameters.cc.
	(Parameters::clear_target): Likewise.
	* readsyms.cc (Read_symbols::do_group): Create a Start_group
	task.
	(Start_group::~Start_group): New function.
	(Start_group::is_runnable): New function.
	(Start_group::locks, Start_group::run): New functions.
	(Finish_group::run): Change saw_undefined to size_t.
	* readsyms.h (class Start_group): Define.
	(class Finish_group): Change saw_undefined_ field to size_t.
	(Finish_group::Finish_group): Remove saw_undefined and
	this_blocker parameters.  Change all callers.
	(Finish_group::set_saw_undefined): New function.
	(Finish_group::set_blocker): New function.
	* symtab.h (class Symbol_table): Change saw_undefined to return
	size_t.  Change saw_undefined_ field to size_t.
	* target-select.cc (Set_target_once::do_run_once): New function.
	(Target_selector::Target_selector): Initialize set_target_once_
	field.  Don't initialize lock_ and initialize_lock_ fields.
	(Target_selector::instantiate_target): Rewrite.
	(Target_selector::set_target): New function.
	* target-select.h (class Set_target_once): Define.
	(class Target_selector): Update declarations.  Make
	Set_target_once a friend.  Remove lock_ and initialize_lock_
	fields.  Add set_target_once_ field.
2010-02-12 03:23:26 +00:00
Doug Evans
2310652a4f Regenerate cgen-derived files. 2010-02-12 02:44:26 +00:00
Pedro Alves
15c3d785c3 * breakpoint.c (allocate_bp_location): Use bp_loc_other for
bp_tracepoint and bp_fast_tracepoint, not
	bp_loc_software_breakpoint.
	(update_global_location_list): Tracepoints are never duplicates of
	anything.
2010-02-12 01:24:09 +00:00
Pedro Alves
fd9b8c249a * breakpoint.c (break_command_really): Change return type to int.
Return false if no breakpoint was created, true otherwise.
	(trace_command): Don't set the tracepoint count if no tracepoint
	was created.
	(ftrace_command): Ditto.
	(create_tracepoint_from_upload): Bail out if the tracepoint wasn't
	created in the breakpoints table.
2010-02-12 00:47:53 +00:00
gdbadmin
28ed0eccaa *** empty log message *** 2010-02-12 00:00:03 +00:00
Jan Kratochvil
5c0d192f85 gdb/
* solib-svr4.c (LM_ADDR_CHECK): New comment on PPC-aware condition.
2010-02-11 23:07:23 +00:00
Pedro Alves
5d5b640e00 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out if
the offset value isn't of integral type.
2010-02-11 23:03:22 +00:00
Alan Modra
809e8c5f53 daily update 2010-02-11 23:00:04 +00:00
Jan Kratochvil
e5a0a9048b gdb/
* breakpoint.c (delete_breakpoint) <bpt->related_breakpoint != NULL>:
	New.
2010-02-11 22:25:27 +00:00
Pedro Alves
be636754b7 * ax-gdb.c (gen_exp_binop_rest) [BINOP_SUBSCRIPT]: Error out on
non-subscriptable types.
	* valarith.c (binop_types_user_defined_p): New, abstracted out
	from ...
	(binop_user_defined_p): ... this.
	* value.h (binop_types_user_defined_p): Declare.
2010-02-11 21:45:25 +00:00
Pedro Alves
10ef8d6a8d * tracepoint.c (tfile_open): Remove spurious discard_cleanups.
Merge uploaded TSVs before merging uploaded tracepoints.
2010-02-11 21:00:12 +00:00
David S. Miller
00c5099111 bfd/
* elfxx-sparc.c (_bfd_sparc_elf_check_relocs): For R_SPARC_GOTDATA_OP_HIX22
	and R_SPARC_GOTDATA_OP_LOX10, only bump the GOT refcount for global
	symbols.
	(_bfd_sparc_elf_gc_sweep_hook): Likewise only decrement the GOT count for
	these relocs on global symbols.
	(gdopoff): New.
	(_bfd_sparc_elf_relocate_section): Perform GOTDATA optimizations on
	local symbol references which are not STT_GNU_IFUNC.  Handle
	relocation of them like R_SPARC_HIX22 and R_SPARC_LOX10 respectively,
	and deal with negative vs. non-negative values properly.

ld/testsuite

	* ld-sparc/gotop32.s: Add local symbol case.
	* ld-sparc/gotop64.s: Likewise.
	* ld-sparc/gotop32.rd: Adjust expected results.
	* ld-sparc/gotop32.td: Likewise.
	* ld-sparc/gotop64.dd: Likewise.
	* ld-sparc/gotop64.rd: Likewise.
	* ld-sparc/gotop64.td: Likewise.
2010-02-11 19:57:40 +00:00
Sterling Augustine
6fa78d941b 2010-02-11 Sterling Augustine <sterling@jaw.hq.tensilica.com>
* config/tc-xtensa.c (istack_init): Don't call memset.
2010-02-11 19:08:09 +00:00
Sterling Augustine
e716010d3e Fix as obvious a merge error 2010-02-11 19:01:17 +00:00
Sterling Augustine
a89c407e4b 2010-02-11 Sterling Augustine <sterling@tensilica.com>
* config/tc-xtensa.c (cache_literal_section): Handle prefixes as
	well as suffixes.
2010-02-11 19:00:21 +00:00
Pedro Alves
b1028c8e8f * ax-gdb.c (gen_deref): Don't allow dereferencing void pointers. 2010-02-11 18:24:57 +00:00
H.J. Lu
24981e7b95 Reformat build_modrm_byte.
2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Reformat.
2010-02-11 14:02:50 +00:00
H.J. Lu
c75ef631bd Update copyright.
gas/

2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Update copyright.

opcodes/

2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* i386-dis.c: Update copyright.
	* i386-gen.c: Likewise.
	* i386-opc.h: Likewise.
	* i386-opc.tbl: Likewise.
2010-02-11 13:41:19 +00:00
Ian Lance Taylor
fa17a3f432 * dirsearch.cc (Dirsearch::initialize): Add all blockers before
queueing any tasks.
	* gold.cc (queue_middle_gc_tasks): Likewise.  Fix final blocker.
	(queue_middle_tasks): Add all blockers before queueing any tasks.
	(queue_final_tasks): Likewise.
	* token.h (Task_token::add_blockers): New function.
	* object.h (Input_objects::number_of_relobjs): New function.
2010-02-11 07:42:17 +00:00
Ian Lance Taylor
612bdda138 Fix comment. 2010-02-11 07:40:11 +00:00