aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-06-24 * server.c (handle_v_kill): Pass signal_pid toPierre Muller2-2/+9
kill_inferior if multi_process is zero.
2009-06-24 PR 10244Ian Lance Taylor2-1/+9
* reloc.cc (relocate_sections): Skip empty relocation sections.
2009-06-24 * dwarf.c (display_debug_lines_raw): Include the name of theNick Clifton5-333/+393
section in warning message. (struct debug_display): Enable reloc processing for .debug_line and .debug_ranges sections. * readelf.c: Add --relocated-dump command line option to dump the relocated contents of a specified section. (request_dump): New function. (parse_args): Use it. (dump_section_as_bytes): Add parameter to indicate whether the contents should be relocated. (target_specific_reloc_handling): Add code for a R_MN10300_16 reloc found after a R_MN10300_SYM_DIFF reloc. (debug_apply_relocations): Rename to apply_relocations. (get_section_contents): New function. Replaces common code found in dump_section_as_strings and dump_section_as_bytes. * doc/binutils.texi: Document new command line option. * NEWS: Mention the new feature.
2009-06-24 PR 10156Ian Lance Taylor2-8/+14
* layout.cc (Layout::create_note): Use choose_output_section rather than make_output_section.
2009-06-24 PR 10237Ian Lance Taylor4-4/+28
* options.cc (General_options::parse_V): Set printed_version_. (General_options::General_options): Initialize printed_version_. * options.h (class General_options): Add printed_version_ field. * gold.cc (queue_initial_tasks): If there are no input files, don't give a fatal error if we printed the version information. (queue_middle_tasks): If using -r with a shared object, give a fatal error rather than an ordinary error.
2009-06-24[cgen]DJ Delorie7-951/+1558
* intrinsics.scm: Updates to support IVC2. (belongs-to-group?): Check IVC2 slots. (-slots-attribute): New. (targets::attributes): Add SLOTS. (target:add-well-known-intrinsics): Add CPMOV. (md-insn): Add CPTYPE and CRET?. (add-md-insn): Likewise. (add-intrinsic-for-isa): Disable the duplicate tests, as IVC2 has duplicate insns with different bit patterns. (write-cgen-insn?): Add cret? support. (intrinsics.h): Add vector types. (runtime-op): Add vector support. (intrinsic-protos.h): Let GCC define its types. Add cret? support. * cpu/mep-core.cpu: Add CPTYPE and CRET attributes. * cpu/mep-ivc2.cpu: Update all insns to include type information. (h-cr-ivc2): Default to typeless. (h-ccr-ivc2): Fix register width. (SLOTS): Fix values and default. (ivc2_*): Add control register names. (crop, crqp, crpp, croc, crqc, crpc): Default to typeless. [opcodes] * mep-desc.c: Regenerate. * mep-desc.h: Regenerate. * mep-dis.c: Regenerate. * mep-ibld.c: Regenerate. * mep-opc.c: Regenerate. [sid/component/cgen-cpu/mep] * ivc2-cop.cxx (ivc2_cphadd_w): Change to return value. (ivc2_cpsubaca0u_b): Remove debug line. * ivc2-cpu.h (ivc2_cpccadd_b): Change to return value. * mep-cop1-16-decode.cxx: Regenerate. * mep-cop1-16-sem.cxx: Regenerate. * mep-cop1-32-decode.cxx: Regenerate. * mep-cop1-32-sem.cxx: Regenerate. * mep-cop1-48-decode.cxx: Regenerate. * mep-cop1-48-sem.cxx: Regenerate. * mep-cop1-64-decode.cxx: Regenerate. * mep-cop1-64-sem.cxx: Regenerate. * mep-core1-decode.cxx: Regenerate. * mep-cpu.h: Regenerate. * mep-decode.cxx: Regenerate. * mep-desc.h: Regenerate.
2009-06-24[cgen]DJ Delorie4-0/+20
* cpu/mep.opc (mep_cgen_insn_supported_asm): New, skip the short version of BSR when assembling VLIW bundles. Use it in mep-asm.c [opcodes] * mep-asm.c: Regenerate. * mep-opc.c: Regenerate. * mep-opc.h: Regenerate.
2009-06-24* config/tc-mep.c (mep_check_ivc2_scheduling): For IVC2, allocateDJ Delorie3-14/+74
32 bits for relaxable branches so that we can relax them later. (md_estimate_size_before_relax): Assume IVC2 branches will be relaxed. (mep_relax_frag): New. (md_convert_frag): Relax IVC2 branches in-place. * config/tc-mep.h ((mep_relax_frag): New.
2009-06-24 PR 10219Ian Lance Taylor3-0/+61
* layout.cc (Layout::Layout): Initialize have_stabstr_section_. (Layout::make_output_section): Set have_stabstr_section_ if we see a .stab*str section. (Layout::finalize): Call link_stabs_sections. (Layout::link_stabs_sections): New file. * layout.h (class Layout): Add have_stabstr_section_ field. Declare link_stabs_sections.
2009-06-24daily updateAlan Modra1-1/+1
2009-06-24*** empty log message ***gdbadmin1-1/+1
2009-06-23 * dwarf2read.c (dwarf_decode_lines): Ignore rows where is_stmt is 0.Cary Coutant2-3/+8
Set basic_block to 0 after a special opcode.
2009-06-23gdb/Jan Kratochvil2-6/+16
Fix a regression by the mmap patch from 2009-06-16. * symfile.c (reread_symbols): Move sym_finish and clear_objfile_data calls before deleting the OBJFILE obstack. Extend the comment.
2009-06-23 * jv-lang.h (JAVA_OBJECT_SIZE): Remove.Ulrich Weigand4-14/+23
(get_java_object_header_size): Add GDBARCH parameter. * jv-lang.c (get_java_object_header_size): Add GDBARCH parameter. Use it instead of current_gdbarch. (evaluate_subexp_java): Replace JAVA_OBJECT_SIZE with call to get_java_object_header_size. * jv-valprint.c (java_value_print): Likewise.
2009-06-232009-06-23 Doug Kwan <dougkwan@google.com>Doug Kwan9-11/+677
* Makefile.am (libgold_a_LIBADD): New. (ld_new_DEPENDENCIES, ld_new_LDADD): Remove LIBOBJS * Makefile.in: Regenerate. * config.in (HAVE_DECL_MEMMEM, HAVE_DECL_STRNDUP): New. * configure: Regenerate. * configure.ac (AC_CHECK_DECLS): Add strndup and memmem. * fileread.cc: Include sys/state.h * gold.h: Declare memmem and strndup if found missing. * gold_reloc.h: Include byteswap.h if HAVE_BYTESWAP_H is defined.
2009-06-232009-06-23 Sami Wagiaalla <swagiaal@redhat.com>Sami Wagiaalla10-63/+256
* dwarf2read.c (process_die): Handle import statements (DW_TAG_imported_declaration, case DW_TAG_imported_module) (read_import_statement): New. (read_func_scope): Update using_directives to point to current context (read_lexical_block_scope): Ditto. * cp-support.h: Added prototype for cp_add_using. * cp-namespace.c: Removed local context_stack. (cp_initialize_namespace): Deleted. (cp_finalize_namespace): Deleted. (cp_add_using_directive): Use using_directives instead of using_list. (cp_add_using): No longer static. * buildsym.h: Created global using_direct variable. Created using_direct variable in context_stack. * buildsym.c (finish_block): Set using directives for the block under construction. (start_symtab): Removed call to cp_initialize_namespace(). (end_symtab): Removed call to cp_finalize_namespace(). (push_context): Save and reset using_directives. * block.c (block_using): Return using directives for given block instead of static block. 2009-06-23 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/namespace-using.exp: New test. * gdb.cp/namespace-using.cc: New test.
2009-06-23 * target-descriptions.h (struct type): Do not declare.Ulrich Weigand38-548/+646
(struct tdesc_type): Declare. (tdesc_named_type): Change return type to struct tdesc_type *. (tdesc_record_type): Remove. (tdesc_create_vector): Add prototype. (tdesc_create_union): Likewise. (tdesc_add_field): Likewise. * target-descriptions.c (struct tdesc_reg): Replace gdb_type member by tdesc_type member. (struct tdesc_type_field, tdesc_type_field): Add type and vector def. (struct tdesc_type, tdesc_type_p): Likewise. (struct tdesc_arch_reg, tdesc_arch_reg): Likewise. (struct tdesc_feature): Change type of "types" to VEC(tdesc_type_p). (struct tdesc_arch_data): Replace registers member by arch_regs. (tdesc_predefined_types): Change to array of pre-defined struct tdesc_type structures. Add "code_ptr" and "data_ptr". (tdesc_named_type): Return struct tdesc_type * instead of GDB type. (tdesc_gdb_type): New function. (target_find_description): Update for data structure changes. (tdesc_data_cleanup): Likewise. (tdesc_numbered_register): Likewise. (tdesc_use_registers): Likewise. (tdesc_create_reg): Likewise. (tdesc_find_arch_register): New function. (tdesc_find_register): Use it. (tdesc_register_type): Use tdesc_gdb_type to generate GDB type from tdesc_type on demand; cache generated types in tdesc_arch_reg. (tdesc_free_type): New function. (tdesc_free_feature): Call it. (tdesc_create_vector): New function. (tdesc_create_union): Likewise. (tdesc_add_field): Likewise. (tdesc_record_type): Remove. (tdesc_type_id): Remove. (maint_print_c_tdesc_cmd): Update for data structure changes. Update generated code to create tdesc_type structures instead of GDB types. * xml-tdesc.c: Do not include "gdbtypes.h". (struct tdesc_parsing_data): Change type of current_union to struct tdesc_type *. (tdesc_start_reg): Do not special-case "code_ptr" or "data_ptr". (tdesc_start_union): Call tdesc_create_union. (tdesc_start_field): Call tdesc_add_field. (tdesc_start_vector): Call tdesc_create_vector. (tdesc_end_union): Remove. (feature_children): Remove reference to tdesc_end_union. * features/arm-with-iwmmxt.c: Regenerate. * features/mips-linux.c: Regenerate. * features/mips64-linux.c: Regenerate. * features/rs6000/powerpc-32.c: Regenerate. * features/rs6000/powerpc-32l.c: Regenerate. * features/rs6000/powerpc-403.c: Regenerate. * features/rs6000/powerpc-403gc.c: Regenerate. * features/rs6000/powerpc-505.c: Regenerate. * features/rs6000/powerpc-601.c: Regenerate. * features/rs6000/powerpc-602.c: Regenerate. * features/rs6000/powerpc-603.c: Regenerate. * features/rs6000/powerpc-604.c: Regenerate. * features/rs6000/powerpc-64.c: Regenerate. * features/rs6000/powerpc-64l.c: Regenerate. * features/rs6000/powerpc-7400.c: Regenerate. * features/rs6000/powerpc-750.c: Regenerate. * features/rs6000/powerpc-860.c: Regenerate. * features/rs6000/powerpc-altivec32.c: Regenerate. * features/rs6000/powerpc-altivec32l.c: Regenerate. * features/rs6000/powerpc-altivec64.c: Regenerate. * features/rs6000/powerpc-altivec64l.c: Regenerate. * features/rs6000/powerpc-e500.c: Regenerate. * features/rs6000/powerpc-e500l.c: Regenerate. * features/rs6000/powerpc-isa205-32l.c: Regenerate. * features/rs6000/powerpc-isa205-64l.c: Regenerate. * features/rs6000/powerpc-isa205-altivec32l.c: Regenerate. * features/rs6000/powerpc-isa205-altivec64l.c: Regenerate. * features/rs6000/powerpc-isa205-vsx32l.c: Regenerate. * features/rs6000/powerpc-isa205-vsx64l.c: Regenerate. * features/rs6000/powerpc-vsx32.c: Regenerate. * features/rs6000/powerpc-vsx32l.c: Regenerate. * features/rs6000/powerpc-vsx64.c: Regenerate. * features/rs6000/powerpc-vsx64l.c: Regenerate. * features/rs6000/rs6000.c: Regenerate.
2009-06-23 * gdb.ada/variant_record_packed_array: New testcase.Joel Brobecker5-0/+117
2009-06-23 * ada-lang.c (decode_packed_array): If the value is a pointer toJoel Brobecker2-23/+328
an array, then use value_ind to dereference it, not ada_value_ind. (ada_template_to_fixed_record_type_1): Handle the case where a dynamic field is an aligner type. (to_fixed_array_type): Add handling for packed array types. (ada_get_base_type): Do not follow the XVS type if the type is an aligner type. (ada_evaluate_subexp): Split a few statements up for clarity and debuggability. <OP_FUNCALL>: Add handling of the case of a packed array that has already been fixed.
2009-06-23 * ada-lang.c (evaluate_subexp): Delete. Use the version from eval.c.Joel Brobecker5-19/+16
(evaluate_subexp_type): Reimplement using evaluate_subexp. * value.h (evaluate_subexp): Add declaration. * eval.c (evaluate_subexp): Make non-static. * objc-lang.c (print_object_command): Use evaluate_subexp.
2009-06-232009-06-23 Paul Pluzhnikov <ppluzhnikov@google.com>Paul Pluzhnikov5-43/+40
Revert 2009-05-14 breakpoint commit (no longer needed). * breakpoint.h (breakpoint_re_set_objfile): Remove * breakpoint.c (breakpoint_re_set_objfile): Likewise (create_overlay_event_breakpoint): Remove objfile parameter, iterate over all objfiles. * objfiles.c (objfile_relocate): Update. * symfile.c (new_symfile_objfile): Likewise.
2009-06-23gdbTom Tromey6-12/+68
PR gdb/10309: * c-lang.c (classify_type): Iterate over typedefs. * c-valprint.c (textual_element_type): Iterate over typedefs. gdb/testsuite * gdb.base/charset.exp (test_combination): Regression test. * gdb.base/charset.c (my_wchar_t): New typedef. (myvar): New global. (main): Set myvar.
2009-06-23And the ChangeLog entry:Tristan Gingold1-0/+5
2009-06-23 Tristan Gingold <gingold@adacore.com> * vms.c (vms_get_synthetic_symtab): Remove duplicate definition of this macro. Fix indentation.
2009-06-23* server.c (process_serial_event): Add support for Z0 and Z1 packet.Aleksandar Ristovski3-53/+50
* target.h (target_ops): Comment for *_watchpoint to make it clear the functions can get types '0' and '1'.
2009-06-23 * configure.ac: Call AC_CHECK_DECLS using C, not C++.Ian Lance Taylor3-493/+504
* configure: Rebuild.
2009-06-23Fix a nit.Tristan Gingold1-3/+1
2009-06-23 Tristan Gingold <gingold@adacore.com> * vms.c (vms_get_synthetic_symtab): Remove duplicate definition of this macro. Fix indentation.
2009-06-23Add files for ARM auto-IT patchNick Clifton17-0/+349
2009-06-23 PR 10147Ian Lance Taylor2-0/+19
* object.cc (Object::section_contents): Don't try to get a view if the section has length zero. (Object::handle_gnu_warning_section): If the section is empty, use the name of the section as the warning.
2009-06-23 PR 10133Ian Lance Taylor4-2/+28
* stringpool.h (class Stringpool_template): Add optimize_ field. (Stringpool_template::set_optimize): New function. * stringpool.cc (Stringpool_template::Stringpool_template): Initialize optimize_ field. (Stringpool_template::set_string_offsets): Test local optimize fild rather than parameter. * layout.cc (Layout::Layout): Call set_optimize on the section name stringpool.
2009-06-23 PR 10030Ian Lance Taylor6-26/+61
* yyscript.y: Parse TARGET. * script.cc (script_set_target): New function. * script-c.h (script_set_target): Declare. * options.cc (General_options::string_to_object_format): Rename from string_to_object_format in anonymous namespace. Change callers. * options.h (class General_options): Declare string_to_object_format.
2009-06-23 * script-sections.cc (Script_sections::create_segments): Don't putIan Lance Taylor2-1/+11
program headers in a PT_LOAD segment if -n or -N.
2009-06-23*** empty log message ***gdbadmin1-1/+1
2009-06-23daily updateAlan Modra1-1/+1
2009-06-22 PR 10141Ian Lance Taylor3-7/+24
* options.h (class General_options): Add -z lazy and -z now. Sort -z options into alphabetical order. * layout.cc (Layout::finish_dynamic_section): Handle -z now.
2009-06-22gdb/Jan Kratochvil2-24/+39
PR gdb/9988: * buildsym.c (block_compar): New function. (end_symtab): Replace the bubble sort by a qsort based code.
2009-06-22 * linux-low.c (usr_fetch_inferior_registers): Remove check for regno 0.Aleksandar Ristovski6-8/+13
* proc-service.c (ps_lgetregs): Pass -1 to fetch all registers. * regcache.c (get_regcache): Likewise. * spu-low.c (spu_fetch_registers): Remove 0 to -1 conversion. * win32-low.c (child_fetch_inferior_registers): Remove check for regno 0.
2009-06-222009-05-07 Sami Wagiaalla <swagiaal@redhat.com>Sami Wagiaalla2-0/+5
* MAINTAINERS (Write After Approval): Add self.
2009-06-22 * gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c,Nick Clifton65-494/+510
gas/config/atof-ieee.c, gas/config/obj-aout.c, gas/config/obj-coff.c, gas/config/obj-ecoff.c, gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c, gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c, gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c, gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c, gas/config/tc-i386-intel.c, gas/config/tc-i386.c, gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c, gas/config/tc-iq2000.c, gas/config/tc-m32c.c, gas/config/tc-m32r.c, gas/config/tc-m68hc11.c, gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c, gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c, gas/config/tc-mn10300.c, gas/config/tc-moxie.c, gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c, gas/config/tc-s390.c, gas/config/tc-score.c, gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c, gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c, gas/config/tc-xtensa.c, gas/config/xtensa-relax.c, gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c, gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c, gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the gas macro `assert' to `gas_assert'.
2009-06-22 * spu-tdep.c (spu_get_longjmp_target): New function.Ulrich Weigand2-0/+26
(spu_gdbarch_init): Install it.
2009-06-222009-06-22 H.J. Lu <hongjiu.lu@intel.com>H.J. Lu2-1/+6
PR server/10306 * remote.c (getpkt_or_notif_sane_1): Initialize val to -1.
2009-06-22 * config/tc-arm.c (implicit_it_mode): New enum.Nick Clifton8-256/+850
(implicit_it_mode): New global. (it_instruction_type): New enum. (arm_parse_it_mode): New function. (arm_long_opts): New option added. (arm_it): New field. (it_state): New enum. (now_it): New macro. (check_it_blocks_finished): New function. (insns[]): Use the IT Thumb opcodes for ARM too. (arm_cleanup): Call check_it_blocks_finished. (now_it_compatible): New function. (conditional_insn): New function. (set_it_insn_type): New macro. (set_it_insn_type_last): New macro. (do_it): Call automatic IT machinery functions. (do_t_add_sub): Likewise (do_t_arit3): Likewise. (do_t_arit3c): Likewise. (do_t_blx): Likewise. (do_t_branch): Likewise. (do_t_bkpt): Likewise. (do_t_branch23): Likewise. (do_t_bx): Likewise. (do_t_bxj): Likewise. (do_t_cps): Likewise. (do_t_cpsi): Likewise. (do_t_cbz): Likewise. (do_t_it): Likewise. (encode_thumb2_ldmstm): Likewise. (do_t_ldst): Likewise. (do_t_mov_cmp): Likewise. (do_t_mvn_tst): Likewise. (do_t_mul): Likewise. (do_t_neg): Likewise. (do_t_setend): Likewise. (do_t_shift): Likewise. (do_t_tb): Likewise. (output_it_inst): New function. (new_automatic_it_block): New function. (close_automatic_it_block): New function. (now_it_add_mask): New function. (it_fsm_pre_encode): New function. (handle_it_state): New function. (it_fsm_post_encode): New function. (force_automatic_it_block_close): New function. (in_it_block): New function. (md_assemble): Call automatic IT block machinery functions. (arm_frob_label): Likewise. (arm_opts): New element. * config/tc-arm.h (it_state): New enum. (current_it): New struct. (arm_segment_info_type): New member added. * doc/c-arm.texi: New option -mimplicit-it documented. * gas/arm/arm-it-auto.d: New test. * gas/arm/arm-it-auto.s: New file. * gas/arm/arm-it-auto-2.d: New test case. * gas/arm/arm-it-auto-2.s: New file. * gas/arm/arm-it-auto-3.d: New test case. * gas/arm/arm-it-auto-3.s: New file. * gas/arm/arm-it-bad.d: New test case. * gas/arm/arm-it-bad.l: New file. * gas/arm/arm-it-bad.s: New file. * gas/arm/arm-it-bad-2.d: New test case. * gas/arm/arm-it-bad-2.l: New file. * gas/arm/arm-it-bad-2.s: New file. * gas/arm/arm-it-bad-3.d: New test case. * gas/arm/arm-it-bad-3.l: New file. * gas/arm/arm-it-bad-3.s: New file. * gas/arm/thumb2_it_auto.d: New test. * gas/arm/thumb2_it_bad.l: Error message updated. * gas/arm/thumb2_it_bad_auto.d: New test. * gas/arm/thumb2_it.d: Comment added. * gas/arm/thumb2_it_bad.d: Comment added.
2009-06-22 * po/fi.po: Updated Finish translation.Nick Clifton2-89/+165
2009-06-222009-06-22 Christophe Lyon <christophe.lyon@st.com>Christophe Lyon8-31/+104
bfd/ * elf32-arm.c (elf32_arm_size_stubs): Use PLT address as destination for defined dynamic symbols when deciding whether to insert a stub or not. (allocate_dynrelocs): Make sure functions are not marked as Thumb when actually accessed through a PLT, even when generating a shared lib. ld/testsuite: * ld-arm/farcall-mixed-app.s: Add new references to check more modes switching. * ld-arm/farcall-mixed-lib1.s: Likewise. * ld-arm/farcall-mixed-app-v5.d: Update expected result. * farcall-mixed-app.d: Likewise. * ld-arm/farcall-mixed-lib.d: Likewise.
2009-06-22 * ld-pe/pe-run.exp (proc test_direct_link_dll): Fix incorrectDave Korn2-4/+9
line-wrapping.
2009-06-22 * readelf.c (target_specific_reloc_handling): New function:Nick Clifton3-6/+66
Processes relocs in a target specific manner. (debug_apply_relocations): Use the new function. * dwarf.c (display_debug_loc): End the dump with a blank line. (struct debug_display): Enable reloc processing for .debug_aranges and .debug_loc sections.
2009-06-22(committed as obvious)Tristan Gingold1-2/+4
2009-06-22 Tristan Gingold <gingold@adacore.com> * darwin-nat.c (darwin_xfer_partial): Use host_address_to_string instead of "%p".
2009-06-222009-06-22 Tristan Gingold <gingold@adacore.com>Tristan Gingold2-0/+6
* mach-o.c (bfd_mach_o_canonicalize_reloc): Append a sentinel to the relocs array.
2009-06-22 * elfcpp.h (SHN_X86_64_LCOMMON): Define enum constant.Ian Lance Taylor2-1/+16
(enum SHT): Add SHT_X86_64_UNWIND. (enum SHF): Add SHT_X86_64_LARGE.
2009-06-22Fix ChangeLog e-mail address.Ian Lance Taylor1-1/+1
2009-06-22 * layout.cc (Layout::make_output_section): CallIan Lance Taylor22-98/+622
Target::new_output_section. (Layout::attach_allocated_section_to_segment): Put large section sections in a separate load segment with the large segment flag set. (Layout::segment_precedes): Sort large data segments after other load segments. (align_file_offset): New static function. (Layout::set_segment_offsets): Use align_file_offset. * output.h (class Output_section): Add is_small_section_ and is_large_section_ fields. (Output_section::is_small_section): New function. (Output_section::set_is_small_section): New function. (Output_section::is_large_section): New function. (Output_section::set_is_large_section): New function. (Output_section::is_large_data_section): New function. (class Output_segment): Add is_large_data_segment_ field. (Output_segment::is_large_data_segment): New function. (Output_segment::set_is_large_data_segment): New function. * output.cc (Output_section::Output_section): Initialize new fields. (Output_segment::Output_segment): Likewise. (Output_segment::add_output_section): Add assertion that large data sections always go in large data segments. Force small data sections to the end of the list of data sections. Force small BSS sections to the start of the list of BSS sections. For large BSS sections to the end of the list of BSS sections. * symtab.h (class Symbol): Declare is_common_shndx. (Symbol::is_defined): Check Symbol::is_common_shndx. (Symbol::is_common): Likewise. (class Symbol_table): Define enum Commons_section_type. Update declarations. Add small_commons_ and large_commons_ fields. * symtab.cc (Symbol::is_common_shndx): New function. (Symbol_table::Symbol_table): Initialize new fields. (Symbol_table::add_from_object): Put small and large common symbols in the right list. (Symbol_table::sized_finalized_symbol): Check Symbol::is_common_shndx. (Symbol_table::sized_write_globals): Likewise. * common.cc (Symbol_table::do_allocate_commons): Allocate new common symbol lists. Don't call do_allocate_commons_list if the list is empty. (Symbol_table::do_allocate_commons_list): Remove is_tls parameter. Add comons_section_type parameter. Change all callers. Handle small and large common symbols. * object.cc (Sized_relobj::do_finalize_local_symbols): Check Symbol::is_common_shndx. * resolve.cc (symbol_to_bits): Likewise. * target.h (Target::small_common_shndx): New function. (Target::small_common_section_flags): New function. (Target::large_common_shndx): New function. (Target::large_common_section_flags): New function. (Target::new_output_section): New function. (Target::Target_info): Add small_common_shndx, large_common_shndx, small_common_section_flags, and large_common_section_flags fields. (Target::do_new_output_section): New virtual function. * arm.cc (Target_arm::arm_info): Initialize new fields. * i386.cc (Target_i386::i386_info): Likewise. * powerpc.cc (Target_powerpc::powerpc_info) [all versions]: Likewise. * sparc.c (Target_sparc::sparc_info) [all versions]: Likewise. * x86_64.cc (Target_x86_64::x86_64_info): Likewise. (Target_x86_64::do_new_output_section): New function. * configure.ac: Define conditional MCMODEL_MEDIUM. * testsuite/Makefile.am (check_PROGRAMS): Add large. (large_SOURCES, large_CFLAGS, large_DEPENDENCIES): Define. (large_LDFLAGS): Define. * testsuite/large.c: New file. * testsuite/testfile.cc (Target_test::test_target_info): Initialize new fields. * configure, testsuite/Makefile.in: Rebuild.