OSDN Git Service
Tristan Gingold [Wed, 23 Sep 2009 08:30:12 +0000 (08:30 +0000)]
2009-09-23 Tim E. Sneddon <tsneddon@kednos.com>
* gas/configure.com: Fix a typo.
Jie Zhang [Wed, 23 Sep 2009 08:03:02 +0000 (08:03 +0000)]
* elf32-bfin.c (_bfinfdpic_size_got_plt): Make sure empty
.rel.plt and .plt sections are removed.
(elf32_bfinfdpic_size_dynamic_sections): Remove empty .dynbss
section. Remove the duplicated removing of empty .rel.plt
section.
Alan Modra [Wed, 23 Sep 2009 06:10:08 +0000 (06:10 +0000)]
* symbols.c (define_sym_at_dot): New function, extracted from..
(colon): ..here. Define error case cloned symbol.
Alan Modra [Wed, 23 Sep 2009 03:12:28 +0000 (03:12 +0000)]
Tolerate some whitespace differences in readelf output.
Alan Modra [Wed, 23 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
DJ Delorie [Tue, 22 Sep 2009 21:52:47 +0000 (21:52 +0000)]
merge from gcc
Sterling Augustine [Tue, 22 Sep 2009 21:47:03 +0000 (21:47 +0000)]
2009-09-22 Sterling Augustine <sterling@jaw.hq.tensilica.com>
* config/tc-xtensa.c (md_apply_fix): Remove check for constant with
difference of of two symbols.
(xtensa_fix_adjustable): Likewise.
Ian Lance Taylor [Tue, 22 Sep 2009 19:54:46 +0000 (19:54 +0000)]
* testsuite/retain_symbols_file_test.sh (check_present): Change
output file name to retain_symbols_file_test.stdout.
(check_absent): Likewise.
Richard Sandiford [Tue, 22 Sep 2009 18:29:06 +0000 (18:29 +0000)]
binutils/
* objdump.c (disassemble_section): Use bfd_get_arch_size
instead of assuming that the address size is 32 bits.
Ralf Wildenhues [Tue, 22 Sep 2009 18:00:40 +0000 (18:00 +0000)]
Error out if building separately but srcdir has build remnants.
/:
PR bootstrap/32272
* configure.ac: Error out if $srcdir isn't '.' but contains
host-${host_noncanonical}.
* configure: Regenerate.
Kai Tietz [Tue, 22 Sep 2009 16:33:56 +0000 (16:33 +0000)]
2009-09-22 Ozkan Sezer <sezeroz@gmail.com>
* choose-temp.c: Include unistd.h for mingw targets.
Alan Modra [Tue, 22 Sep 2009 03:10:25 +0000 (03:10 +0000)]
* gas/ppc/a2.d: Match PPC64 relocs.
Alan Modra [Tue, 22 Sep 2009 02:36:26 +0000 (02:36 +0000)]
o * ppc.h (ppc_cpu_t): Typedef to uint64_t.
Alan Modra [Tue, 22 Sep 2009 00:17:48 +0000 (00:17 +0000)]
Delete unused scripts.
Alan Modra [Tue, 22 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
H.J. Lu [Mon, 21 Sep 2009 21:50:19 +0000 (21:50 +0000)]
2009-09-21 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c: Remove white spaces.
Ralf Wildenhues [Mon, 21 Sep 2009 20:32:59 +0000 (20:32 +0000)]
Require c++ in stage1_languages with --enable-gold in combined bootstrap.
/:
* configure.ac: If bootstrapping a combined tree with
--enable-gold, require c++ in stage1_languages.
* configure: Regenerate.
Ralf Wildenhues [Mon, 21 Sep 2009 20:31:02 +0000 (20:31 +0000)]
toplevel configure: bootstrap target_libs of stage1_languages.
/:
* configure.ac: Also add target_libs of stage1_languages to
bootstrap_target_libs.
* configure: Regenerate.
Ralf Wildenhues [Mon, 21 Sep 2009 19:25:05 +0000 (19:25 +0000)]
Diagnose --enable-build-with-cxx --enable-bootstrap --enable-languages w/o c++
/:
* configure.ac: Diagnose --enable-build-with-cxx bootstrap
with --enable-languages not containing c++.
* configure: Regenerate.
Richard Sandiford [Mon, 21 Sep 2009 19:11:50 +0000 (19:11 +0000)]
ld/testsuite/
PR ld/10681
* ld-elf/eh6.d: Expect absolute pointers in shared libraries to
be converted into PC-relative form.
Richard Sandiford [Mon, 21 Sep 2009 19:07:44 +0000 (19:07 +0000)]
bfd/
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Extend previous
patch to handle the new personality relaxation.
ld/testsuite/
* ld-mips-elf/eh-frame5.d: Expect PC-relative encodings
to include DW_EH_PE_sdata4.
Richard Sandiford [Mon, 21 Sep 2009 18:55:08 +0000 (18:55 +0000)]
bfd/
* elf-eh-frame.c (make_pc_relative): New function.
(_bfd_elf_write_section_eh_frame): Use it.
ld/testsuite/
* ld-mips-elf/eh-frame1-n32.d: Expect PC-relative encodings
to include DW_EH_PE_sdata4.
* ld-mips-elf/eh-frame2-n32.d: Likewise.
* ld-mips-elf/eh-frame1-n64.d: Expect PC-relative encodings
to include DW_EH_PE_sdata8.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
Maciej W. Rozycki [Mon, 21 Sep 2009 13:15:28 +0000 (13:15 +0000)]
* lib/gas-defs.exp (gas_test_error): Mark internal error/assertion
failures seen in output as fails. Also record output being
matched for fails.
Maciej W. Rozycki [Mon, 21 Sep 2009 13:13:04 +0000 (13:13 +0000)]
* gas/mips/eret-1.d: Adjust regexps for robustness.
* gas/mips/eret-2.d: Likewise.
* gas/mips/eret-3.d: Likewise.
* gas/mips/eret-1.s: Reformat for readability. Add a label
at the beginning.
* gas/mips/eret-2.s: Add a label at the beginning.
Maciej W. Rozycki [Mon, 21 Sep 2009 13:10:07 +0000 (13:10 +0000)]
* gas/mips/eret-1.s: Add trailing padding.
* gas/mips/eret-2.s: Likewise.
* gas/mips/eret-3.s: Likewise.
* gas/mips/eret-1.d: Adjust accordingly. Force a 32-bit ABI.
* gas/mips/eret-2.d: Likewise.
* gas/mips/eret-3.d: Likewise.
Maciej W. Rozycki [Mon, 21 Sep 2009 13:08:36 +0000 (13:08 +0000)]
* gas/mips/mips.exp: Fix a typo.
Alan Modra [Mon, 21 Sep 2009 11:51:02 +0000 (11:51 +0000)]
include/elf/
* ppc.h (DT_PPC_TLSOPT): Define.
* ppc64.h (DT_PPC64_TLSOPT): Define.
bfd/
* elf32-ppc.c (TLS_GET_ADDR_GLINK_SIZE): Define.
(ADD_3_12_2, BEQLR, CMPWI_11_0, LWZ_11_3, LWZ_12_3): Define.
(MR_0_3, MR_3_0): Define.
(struct ppc_elf_link_hash_table): Add no_tls_get_addr_opt.
(ppc_elf_select_plt_layout): Save emit_stub_syms param earlier.
(ppc_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
table. Check for presense of __tls_get_addr_opt
(allocate_dynrelocs): Increase glink entry size for __tls_get_addr.
(ppc_elf_size_dynamic_sections): Add DT_PPC_TLS_OPT tag.
(write_glink_stub): Add param p.
(ppc_elf_relocate_section): Adjust write_glink_stub call.
(ppc_elf_finish_dynamic_symbol): Emit special glink call stub for
__tls_get_addr.
* elf32-ppc.h (ppc_elf_tls_setup): Update prototype.
* elf64-ppc.c (struct ppc_link_hash_table): Add no_tls_get_addr_opt.
(ppc64_elf_tls_setup): Add no_tls_get_addr_opt param and save to hash
table. Check for presense of __tls_get_addr_opt.
(ppc64_elf_size_dynamic_sections): Add DT_PPC64_TLS_OPT tag.
(LD_R11_0R3, LD_R12_0R3, MR_R0_R3, CMPDI_R11_0, ADD_R3_R12_R13,
BEQLR, MR_R3_R0, MFLR_R11, STD_R11_0R1, BCTRL, LD_R11_0R1,
LD_R2_0R1, MTLR_R11): Define.
(build_tls_get_addr_stub): New function.
(ppc_build_one_stub): Call it.
(ppc_size_one_stub): Add extra size for __tls_get_addr stub.
(ppc64_elf_relocate_section): Don't change nop to ld 2,40(1) for
__tls_get_addr plt call.
* elf64-ppc.h (ppc64_elf_tls_setup): Update prototype.
binutils/
* readelf.c (get_ppc_dynamic_type): Add TLSOPT.
(get_ppc64_dynamic_type): Likewise.
ld/
* emultempl/ppc32elf.em (no_tls_get_addr_opt): New var.
(ppc_before_allocation): Pass to ppc_elf_tls_setup.
(OPTION_NO_TLS_GET_ADDR_OPT): Define. Redefine other options in
terms of previous option.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
--no-tls-get-addr-optimize.
(PARSE_AND_LIST_ARGS_CASES): Handle it.
* emultempl/ppc64elf.em (no_tls_get_addr_opt): New var.
(ppc_before_allocation): Pass to ppc64_elf_tls_setup.
(OPTION_NO_TLS_GET_ADDR_OPT): Define.
(PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add
--no-tls-get-addr-optimize.
(PARSE_AND_LIST_ARGS_CASES): Handle it.
ld/testsuite/
* ld-powerpc/tlslib.s: Delete dot-symbol entry syms. Add
__tls_get_addr_opt.
* ld-powerpc/tlslib32.s: Add __tls_get_addr_opt.
* ld-powerpc/oldtlslib.s: New file, old-abi version of tlslib.s.
* ld-powerpc/powerpc.exp: Build old-abi library and use it in
two new link tests.
* ld-powerpc/tlsexe.d: Update for new __tls_get_addr stub.
* ld-powerpc/tlsexe.g, * ld-powerpc/tlsexe.r, *ld-powerpc/tlsexe32.d,
* ld-powerpc/tlsexe32.g, * ld-powerpc/tlsexe32.r,
* ld-powerpc/tlsexetoc.d, * ld-powerpc/tlsexetoc.g,
* ld-powerpc/tlsexetoc.r: Likewise.
Ben Elliston [Mon, 21 Sep 2009 10:29:07 +0000 (10:29 +0000)]
gas/
* config/tc-ppc.c (md_show_usage): Document -mpcca2.
* doc/c-ppc.texi (PowerPC-Opts): Document -mppca2.
gas/testsuite/
* gas/ppc/a2.s: New.
* gas/ppc/a2.d: Likewise.
* gas/ppc/ppc.exp: Run the a2 dump test.
include/opcode/
* ppc.h (PPC_OPCODE_PPCA2): New.
opcodes/
* ppc-dis.c (ppc_opts): Add "ppca2" entry.
* ppc-opc.c (powerpc_opcodes): Add eratilx, eratsx, eratsx.,
eratre, wchkall, eratwe, ldawx., mdfcrx., mfdcr. mtdcrx., icswx,
icswx., mtdcr., dci, wclrone, wclrall, wclr, erativax, tlbsrx.,
ici mnemonics.
(ERAT_T): New operand.
(XWC_MASK): New mask.
(XOPL2): New macro.
(PPCA2): Define.
Ben Elliston [Mon, 21 Sep 2009 01:58:01 +0000 (01:58 +0000)]
* gas/ppc/e500mc.d: Remove blank line at the end of file.
Alan Modra [Mon, 21 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Richard Sandiford [Sun, 20 Sep 2009 11:11:37 +0000 (11:11 +0000)]
ld/testsuite/
* ld-mips-elf/elf-rel-got-n64-linux.d: Expect BALs.
* ld-mips-elf/elf-rel-xgot-n64-linux.d: Likewise.
Alan Modra [Sun, 20 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Richard Sandiford [Sat, 19 Sep 2009 08:06:11 +0000 (08:06 +0000)]
bfd/
* elf-bfd.h (eh_cie_fde): Add personality_offset and
make_per_encoding_relative to the CIE structure. Add a padding field.
* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Use 0x70
rather than 0xf0 when masking out the base address encoding
Record the offset of personality data from the start of the CIE.
Remove a repeated elf_backend_can_make_relative_eh_frame check.
(find_merged_cie): Take an info argument. If the personality
binds locally, try converting an absolute personality into
a local one.
(_bfd_elf_discard_section_eh_frame): Use 0x70 rather than 0xf0
when masking out the base address encoding. Update the call to
find_merged_cie.
(_bfd_elf_eh_frame_section_offset): Discard relocations against
the personality data if we are converting into PC-relative form.
(_bfd_elf_write_section_eh_frame): Use 0x70 rather than 0xf0
when masking out the base address encoding. Handle
make_per_encoding_relative.
ld/testsuite/
* ld-mips-elf/eh-frame5.s, ld-mips-elf/eh-frame5.ld,
ld-mips-elf/eh-frame5.d: New test.
* ld-mips-elf/mips-elf.exp: Run it.
Alan Modra [Sat, 19 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
H.J. Lu [Fri, 18 Sep 2009 20:34:30 +0000 (20:34 +0000)]
Revert accidental checkin.
Craig Silverstein [Fri, 18 Sep 2009 20:03:22 +0000 (20:03 +0000)]
* object.cc (Sized_relobj::do_count): Test should_retain_symbol map.
* options.cc: Include <cerrno> and <fstream>.
(General_options::finalize): Parse -retain-symbols-file tag.
* options.h: New flag.
(General_options): New method should_retain_symbol, new
variable symbols_to_retain.
* symtab.cc (Symbol_table::sized_finalize_symbol): Test
should_retain_symbol map.
* testsuite/Makefile.am (retain_symbols_file_test): New test.
* testsuite/Makefile.in: Regenerate.
* testsuite/retain_symbols_file_test.sh: New file.
Alan Modra [Fri, 18 Sep 2009 12:41:52 +0000 (12:41 +0000)]
PR ld/10406
* elf32-ppc.c (ppc_elf_howto_raw): Make R_PPC_EMB_SDAI16 and
R_PPC_EMB_SDA2I16 complain_overflow_signed.
(create_sdata_sym): Pass info rather than htab.
Update all callers. Ensure symbols are hidden.
(ppc_elf_check_relocs): Allow SDAREL16 when shared.
(ppc_elf_size_dynamic_sections): When shared, equate _SDA_BASE_ to
_GLOBAL_OFFSET_TABLE_.
(elf_finish_pointer_linker_section): Don't assume that sdata base
symbol is always at 0x8000 offset. Don't subtract the addend here.
(is_static_defined): New function.
(ppc_elf_relocate_section): Verify symbol base used in SDA relocs
is statically defined. Clear addend for EMB_SDAI16 and EMB_SDA2I16
relocs. Downgrade error on unexpected section for EMB_SDA2REL
reloc symbols to a warning.
Nick Clifton [Fri, 18 Sep 2009 08:05:14 +0000 (08:05 +0000)]
Updated Vietnamese translations
Nick Clifton [Fri, 18 Sep 2009 08:00:55 +0000 (08:00 +0000)]
Updated Finnish and Vietnamese translations
Nick Clifton [Fri, 18 Sep 2009 07:54:47 +0000 (07:54 +0000)]
Updated Spanish and Vietnamese translations
Alan Modra [Fri, 18 Sep 2009 03:30:34 +0000 (03:30 +0000)]
bfd/
* elf64-ppc.c (follow_link, elf_follow_link, ppc_follow_link): New
functions. Use throughout.
(ppc64_elf_copy_indirect_symbol): Set direct symbol "oh" field
from indirect symbol.
(lookup_fdh): Rename from get_fdh. Follow indirect sym links.
(add_symbol_adjust): Simplify.
(defined_code_entry, defined_func_desc): New functions.
(ppc64_elf_gc_keep): Follow indirect sym links. Use defined_code_entry.
(ppc64_elf_gc_mark_dynamic_ref): Use defined_func_desc and
defined_code_entry to follow indirect sym links.
(ppc64_elf_gc_mark_hook, func_desc_adjust): Likewise.
(ppc_type_of_stub): Follow indirect sym links.
(toc_adjusting_stub_needed): Likewise.
(ppc_build_one_stub): Likewise. Make undefined dot-symbols weak
rather than defining them at stub.
(ppc64_elf_relocate_section): Rewrite call test to avoid multiple
assignments in test.
ld/testsuite/
* ld-powerpc/tlsso.d: Update.
* ld-powerpc/tlsso.r: Update.
* ld-powerpc/tlstocso.d: Update.
* ld-powerpc/tlstocso.r: Update.
Doug Kwan [Fri, 18 Sep 2009 01:10:38 +0000 (01:10 +0000)]
2009-09-17 Doug Kwan <dougkwan@google.com>
* debug.h (DEBUG_RELAXATION): New constant.
(DEBUG_ALL): Add DEBUG_RELAXATION.
(debug_string_to_enum): Add relaxation debug option.
* layout.cc
(Layout::Relaxation_debug_check::check_output_data_for_reset_values,
Layout::Relaxation_debug_check::read_sections,
Layout::Relaxation_debug_check::read_sections): New method definitions.
(Layout::Layout): Initialize data members
record_output_section_data_from_scrips_,
script_output_section_data_list_ and relaxation_debug_check_.
(Layout::save_segments, Layout::restore_segments,
Layout::clean_up_after_relaxation, Layout::prepare_for_relaxation,
Layout::relaxation_loop_body): New method definitions.
(Layout::finalize): Support relaxation. Move section layout code to
Layout::relaxation_loop_body.
(Layout::set_asection_address_from_script): Move code for orphan
section placement out.
(Layout::place_orphan_sections_in_script): New method definition.
* layout.h (Output_segment_headers, Output_file_header):
New forward class declarations.
(Layout::~Layout): Define.
(Layout::new_output_section_data_from_script): New method definition.
(Layout::place_orphan_sections_in_script): New method declaration.
(Layout::Segment_states): New type declaration.
(Layout::save_segments, Layout::restore_segments,
Layout::clean_up_after_relaxation, Layout::prepare_for_relaxation,
Layout::relaxation_loop_body): New method declarations.
(Layout::Output_section_data_list): New type declaration.
(Layout::Relaxation_debug_check): New class definition.
(Layout::record_output_section_data_from_script_,
Layout::script_output_section_data_list_, Layout::segment_states_,
Layout::relaxation_debug_check_): New data members.
* output.cc: (Output_section_headers::do_size): New method definition.
(Output_section_headers::Output_section_headers): Move size
computation to Output_section_headers::do_size.
(Output_segment_headers::do_size): New method definition.
(Output_file_header::Output_file_header): Move size computation to
Output_file_header::do_size and call it.
(Output_file_header::do_size): New method definition.
(Output_data_group::Output_data_group): Adjust call to
Output_section_data.
(Output_data_dynamic::set_final_data_size): Add DT_NULL tag only once.
(Output_symtab_xindex::do_write): Add array bound check.
(Output_section::Input_section::print_to_mapfile): Handle
RELAXED_INPUT_SECTION_CODE.
(Output_section::Output_section): Initialize data member checkpoint_.
(Output_section::~Output_section): Delete checkpoint object pointed
by checkpoint_.
(Output_section::add_input_section): Always add an Input_section if
relaxing.
(Output_section::add_merge_input_section): Add assert.
(Output_section::relax_input_section): New method definition.
(Output_section::set_final_data_size): Set load address to zero for
an unallocated section.
(Output_section::do_address_and_file_offset_have_reset_values):
New method definition.
(Output_section::Input_section_sort_enty::Input_section_sort_enty):
Handle relaxed input section.
(Output_section::sort_attached_input_sections): Checkpoint input
section list lazily.
(Output_section::get_input_sections): Change type of input_sections to
list of Simple_input_section pointers. Checkpoint input section list
lazily. Also handle relaxed input sections.
(Output_section::add_input_section_for_script): Take a reference to
a Simple_input_section object instead of Relobj pointer and section
index as parameter. Handle relaxed input sections.
(Output_section::save_states, Output_section::restore_states): New
method definitions.
* output.h (Output_data::Output_data): Initialize is_data_size_fixed_.
(Output_data::is_data_size_fixed): New method definition.
(Output_data::reset_addresss_and_file_offset): Do not reset data size
if it is fixed.
(Output_data::address_and_file_offset_have_reset_values): New method
definition.
(Output_data::do_address_and_file_offset_have_reset_values): New method
definition.
(Output_data::set_data_size): Check that data size is not fixed.
(Output_data::fix_data_size): New method definition.
(Output_data::is_data_size_fixed_): New data member.
(Output_section_headers::set_final_data_size): New method definition.
(Output_section_headers::do_size): New method declaration.
(Output_segment_headers::set_final_data_size): New method definition.
(Output_segment_headers::do_size): New method declaration.
(Output_file_header::set_final_data_size)::New method definition.
(Output_file_header::do_size)::New method declaration.
(Output_section_data::Output_section_data): Add new parameter
is_data_size_fixed and use it to fix data size.
(Output_data_const::Output_data_const): Adjust call to base class
constructor and fix data size.
(Output_data_const_buffer::Output_data_const_buffer): Adjust call to
base class constructor and fix data size.
(Output_data_fixed_space::Output_data_fixed_space): Adjust call to
base class constructor and fix data size.
(Output_data_zero_fill::Output_data_zero_fill): Adjust call to base
class constructor and fix data size.
(Output_data_group::set_final_data_size): New method definition.
(Output_data_dynamic::Dynamic_entry::tag): New method definition.
(Output_symtab_xindex::Output_symtab_xindex): Adjust call to base
class constructor and fix data size.
(Output_relaxed_input_section): New class definition.
(Output_section::Simple_input_section): New class definition.
(Output_section::get_input_sections): Adjust parameter list.
(Output_section::add_input_section_for_script): Same.
(Output_section::save_states, Output_section::restore_states,
Output_section::do_address_and_file_offset_have_reset_values,
(Output_section::Input_section::Input_section): Handle
RELAXED_INPUT_SECTION_CODE. Add new overload for
Output_relaxed_input_section.
(Output_section::Input_section::is_input_section,
Output_section::Input_section::set_output_section): Handle relaxed
input section.
(Output_section::Input_section::is_relaxed_input_section,
Output_section::Input_section::output_section_data,
Output_section::Input_section::relaxed_input_section): New method
definitions.
(Output_section::Input_section::RELAXED_INPUT_SECTION_CODE): New enum
value.
(Output_section::Input_section::u1_): Update comments.
(Output_section::Input_section::u2_): Add new union member poris.
(Output_section::Checkpoint_output_section): New classs definition.
(Output_section::relax_input_section): New method declaration.
(Output_section::checkpoint_): New data member.
(Output_segment): Update comments.
(Output_segment::Output_segment): Un-privatize copy constructor.
(Output_segment::operator=): Un-privatize.
* script-sections.cc (Output_section_element::Input_section_list):
Change element type to Output_section::Simple_input_section.
(Output_section_element_dot_assignment::set_section_addresses):
Register output section data for relaxation clean up.
(Output_data_exression::Output_data_expression): Adjust call to base
constructor to fix data size.
(Output_section_element_data::set_section_addresses): Register
Output_data_expression object for relaxation clean up.
(struct Input_section_info): Replace Relobj pointer and section index
pair with Output_section::Simple_input_section and Convert struct to a
class.
(Input_section_sorter::operator()): Adjust access to
Input_section_info data member to use accessors.
(Output_section_element_input::set_section_addresses): Use layout
parameter. Adjust code to use Output_section::Simple_input_section
and Input_secction_info classes. Register filler for relaxation
clean up.
(Orphan_output_section::set_section_addresses): Replace Relobj pointer
and section index pair with Output_section::Simple_input_section
class. Adjust code accordingly.
(Phdrs_element::release_segment): New method definition.
(Script_sections::attach_sections_using_phdrs_clause): Do not modify
segment list.
(Script_sections::release_segments): New method definition.
* gold/script-sections.h (Script_sections::release_segments): New
method declaration.
* gold/target.h (Target::may_relax, Target::relax,
Target::do_may_relax, Target::do_relax): New method definitions.
Ian Lance Taylor [Fri, 18 Sep 2009 00:45:53 +0000 (00:45 +0000)]
* arm.cc (has_signed_unsigned_overflow): New function.
(Arm_relocate_functions::abs8): New function.
(Target_arm::Scan::local): Handle R_ARM_ABS8.
(Target_arm::Scan::global): Likewise.
(Target_arm::relocate::relocate): Likewise.
(Target_arm::Relocatable_size_for_reloc::get_size_for_reloc):
Likewise.
Alan Modra [Fri, 18 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Alan Modra [Thu, 17 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Cary Coutant [Wed, 16 Sep 2009 20:57:27 +0000 (20:57 +0000)]
* testsuite/Makefile.am (MOSTLYCLEANFILES): Add more generated files.
* testsuite/Makefile.in: Regenerate.
DJ Delorie [Wed, 16 Sep 2009 17:57:24 +0000 (17:57 +0000)]
merge from gcc
Tristan Gingold [Wed, 16 Sep 2009 13:30:32 +0000 (13:30 +0000)]
2009-09-16 Tristan Gingold <gingold@adacore.com>
* mach-o.h (bfd_mach_o_filetype): Add new constants from darwin10.
Reindent.
* mach-o.c (bfd_mach_o_cpu_name): Reindent.
(bfd_mach_o_filetype_name): Complete with new constants. Reindent.
(bfd_mach_o_print_private_header): Use fputs instead of fprintf
when possible to avoid warnings.
(bfd_mach_o_print_section_map): Ditto.
(bfd_mach_o_section_get_entry_size): New function.
(bfd_mach_o_section_get_nbr_indirect): Simplify using the newly
added function.
(bfd_mach_o_print_dysymtab): Print address of indirect symbols.
Nick Clifton [Wed, 16 Sep 2009 08:37:16 +0000 (08:37 +0000)]
Remove spurious entry
Jie Zhang [Wed, 16 Sep 2009 00:45:55 +0000 (00:45 +0000)]
* configure.ac: Disable java and boehm-gc for bfin-*-*.
* configure: Regenerate.
Alan Modra [Wed, 16 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
H.J. Lu [Tue, 15 Sep 2009 18:51:53 +0000 (18:51 +0000)]
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (offset_in_range): Sign extend offset only
if BFD64 is defined.
H.J. Lu [Tue, 15 Sep 2009 18:41:24 +0000 (18:41 +0000)]
gas/
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386-intel.c (i386_intel_operand): Initialize
intel_state.has_offset to 0.
gas/testsuite/
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/disp.s: Add an offset test.
* gas/i386/x86-64-disp.s: Likewise.
* gas/i386/intelbad.s: Comment out "byte ptr [1]" test.
* gas/i386/disp.d: Updated.
* gas/i386/disp-intel.d: Likewise.
* gas/i386/intelbad.l: Likewise.
* gas/i386/x86-64-disp.d: Likewise.
* gas/i386/x86-64-disp-intel.d: Likewise.
H.J. Lu [Tue, 15 Sep 2009 17:53:40 +0000 (17:53 +0000)]
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* i386-dis.c (OP_E_memory): Don't print '-' in Intel mode if
disp == -disp.
H.J. Lu [Tue, 15 Sep 2009 17:47:26 +0000 (17:47 +0000)]
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (offset_in_range): Sign extend offset only
for 32bit address mode.
DJ Delorie [Tue, 15 Sep 2009 15:21:58 +0000 (15:21 +0000)]
merge from gcc
Tristan Gingold [Tue, 15 Sep 2009 10:58:28 +0000 (10:58 +0000)]
2009-09-15 Tristan Gingold <gingold@adacore.com>
* makefile.vms (OBJS): Compile te-vms.c only on Itanium.
Kaz Kojima [Tue, 15 Sep 2009 02:02:48 +0000 (02:02 +0000)]
* ld-elfcomm/elfcomm.exp: Add appropriate emulation option
for sh64*-*-*.
* ld-gc/gc.exp (test_gc): Likewise.
Alan Modra [Tue, 15 Sep 2009 00:00:08 +0000 (00:00 +0000)]
daily update
H.J. Lu [Mon, 14 Sep 2009 22:02:26 +0000 (22:02 +0000)]
gas/
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10637
* config/tc-i386-intel.c (intel_state): Add has_offset.
(i386_intel_simplify): Set intel_state.has_offset to 1 for
O_offset.
(i386_intel_operand): Turn on intel_state.is_mem if
intel_state.has_offset is 0 and the last char is ']'.
gas/testsuite/
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10637
* gas/i386/disp.s: Add tests for Intel syntax.
* gas/i386/x86-64-disp.s: Likewise.
* gas/i386/disp.d: Updated.
* gas/i386/intelok.d: Likewise.
* gas/i386/x86-64-disp.d: Likewise.
* gas/i386/disp-intel.d: New.
* gas/i386/x86-64-disp-intel.d: Likewise.
* gas/i386/i386.exp: Run disp-intel and x86-64-disp-intel.
H.J. Lu [Mon, 14 Sep 2009 14:44:58 +0000 (14:44 +0000)]
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/merom.[ds]: Renamed to ...
* gas/i386/ssse3.[ds]: This.
* gas/i386/nops-1-merom.d: Renamed to ...
* gas/i386/nops-1-core2.d: This.
* gas/i386/nops-2-merom.d: Renamed to ...
* gas/i386/nops-2-core2.d: This.
* gas/i386/prescott.[ds]: Renamed to ...
* gas/i386/sse3.[ds]: This.
* gas/i386/x86-64-merom.[ds]: Renamed to ...
* gas/i386/x86-64-ssse3.[ds]: This.
* gas/i386/x86-64-nops-1-merom.d: Renamed to ...
* gas/i386/x86-64-nops-1-core2.d: This.
* gas/i386/x86-64-prescott.[ds]: Renamed to ...
* gas/i386/x86-64-sse3.[ds]: This.
* gas/i386/i386.exp: Updated.
H.J. Lu [Mon, 14 Sep 2009 14:07:26 +0000 (14:07 +0000)]
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
* ld-undefined/entry-7.d: New.
H.J. Lu [Mon, 14 Sep 2009 13:57:45 +0000 (13:57 +0000)]
gas/
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10636
* config/tc-i386.c (optimize_disp): Set disp32 for 64bit only
if there is an ADDR_PREFIX.
(i386_finalize_displacement): Repor error if signed 32bit
displacement is out of range.
gas/testsuite/
2009-09-14 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10636
* gas/i386/disp.d: New.
* gas/i386/disp.s: Likewise.
* gas/i386/x86-64-disp.d: Likewise.
* gas/i386/x86-64-disp.s: Likewise.
* gas/i386/i386.exp: Run disp and x86-64-disp.
* gas/i386/x86-64-addr32.s: Add high 32bit displacement tests.
* gas/i386/x86-64-addr32.d: Updated.
* gas/i386/x86-64-addr32-intel.d: Likewise.
* gas/i386/x86-64-inval.l: Likewise.
* gas/i386/x86-64-prescott.d: Likewise.
* gas/i386/x86-64-inval.s: Add invalid displacement tests.
* gas/i386/x86-64-prescott.s: Replace 0x90909090 displacement
with 0x909090.
Nick Clifton [Mon, 14 Sep 2009 12:29:50 +0000 (12:29 +0000)]
* readelf.c (process_version_sections, process_symbol_table):
Use symbolic constants.
Nick Clifton [Mon, 14 Sep 2009 12:24:29 +0000 (12:24 +0000)]
Updated German, Dutch and Finnish translations.
Alan Modra [Mon, 14 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Richard Sandiford [Sun, 13 Sep 2009 19:18:11 +0000 (19:18 +0000)]
gas/
* config/tc-mips.c (MIPS_JALR_HINT_P): Take an expr argument.
Require the target to be a bare symbol on targets with
in-place addends.
(macro_build_jalr): Update accordingly.
(mips_fix_adjustable): Don't reduce R_MIPS_JALRs on targets
with in-place addends.
gas/testsuite/
* gas/mips/jalr2.s, gas/mips/jalr2.d: New test.
* gas/mips/jal-svr4pic.d: Don't expect R_MIPS_JALRs to be reduced.
* gas/mips/jal-xgot.d: Likewise.
* gas/mips/mips-abi32-pic2.d: Likewise.
* gas/mips/mips.exp: Run it.
Richard Sandiford [Sun, 13 Sep 2009 18:56:03 +0000 (18:56 +0000)]
gas/testsuite/
* gas/mips/mips16-dwarf2-n32.d: Expect odd addresses.
ld/testsuite/
* ld-mips-elf/eh-frame1-n32.d: Change "the section \.eh_frame"
to "the \.eh_frame section".
* ld-mips-elf/eh-frame1-n64.d: Likewise.
* ld-mips-elf/eh-frame2-n32.d: Likewise.
* ld-mips-elf/eh-frame2-n64.d: Likewise.
* ld-mips-elf/eh-frame3.d: Likewise.
* ld-mips-elf/eh-frame4.d: Likewise.
* ld-mips-elf/elf-rel-got-n32.d: Expect bals.
* ld-mips-elf/elf-rel-xgot-n32.d: Likewise.
* ld-mips-elf/mips-elf.exp: Force the MIPS16 PIC tests to use -mips1.
Alan Modra [Sun, 13 Sep 2009 07:19:18 +0000 (07:19 +0000)]
PR ld/6766
* lexsup.c (parse_args <-e>): Revert 2009-03-18 change.
* ldemul.c (after_parse_default): Add entry symbol as undef.
* emultempl/alphaelf.em (alpha_after_parse): Call after_parse_default.
* emultempl/cr16elf.em (cr16elf_after_parse): Likewise.
* emultempl/crxelf.em (crxelf_after_parse): Likewise.
* emultempl/hppaelf.em (hppaelf_after_parse): Likewise.
* emultempl/ia64elf.em (gld${EMULATION_NAME}_after_parse): Likewise.
* emultempl/pe.em (gld_${EMULATION_NAME}_after_parse): Call
after_parse_default and delete now duplicate code.
* emultempl/pep.em (gld_${EMULATION_NAME}_after_parse): Likewise.
* scripttempl/elf32cr16.sc: No need to make entry extern.
* scripttempl/elf32cr16c.sc: Likewise.
* scripttempl/elf32crx.sc: Likewise.
* scripttempl/elf32xc16xs.sc: Only provide ENTRY on final link.
Alan Modra [Sun, 13 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
Alan Modra [Sat, 12 Sep 2009 00:00:05 +0000 (00:00 +0000)]
daily update
DJ Delorie [Fri, 11 Sep 2009 16:05:46 +0000 (16:05 +0000)]
merge from gcc
Nick Clifton [Fri, 11 Sep 2009 15:27:38 +0000 (15:27 +0000)]
* po/bfd.pot: Updated by the Translation project.
* po/binutils.pot: Updated by the Translation project.
* po/gold.pot: Updated by the Translation project.
* po/gold.pot: Updated by the Translation project.
* po/gprof.pot: Updated by the Translation project.
* po/sv.po: Updated Swedish translation.
* po/ld.pot: Updated by the Translation project.
* po/fi.po: Updated Finnish translation.
* po/ld.pot: Updated by the Translation project.
* po/fi.po: Updated Finnish translation.
Updated sources to compile cleanly with -Wc++-compat:
* basic_blocks.c: Add casts.
* cg_dfn.c: Add cast.
* corefile.c: Add casts.
* gmon_io.c: Add casts.
* hist.c: Add cast.
* source.c: Add cast.
* sym_ids.c (struct match): Moved to top level.
Updated soruces in ld/* to compile cleanly with -Wc++-compat:
* ld.h (enum endian_enum,enum symbolic_enum,enum dynamic_list_enum): Move to top level.
* ldcref.c: Add casts.
* ldctor.c: Add casts.
* ldexp.c
* ldexp.h (enum node_tree_enum,enum phase_enum): Move to top level.
* ldlang.c: Add casts. (lang_insert_orphan): Use enum name instead of integer.
* ldlang.h (enum statement_enum): Move to top level.
* ldmain.c: Add casts.
* ldwrite.c: Add casts.
* lexsup.c: Add casts. (enum control_enum): Move to top level.
* mri.c: Add casts. (mri_draw_tree): Use enum name instead of integer.
Updated sources to compile cleanly with -Wc++-compat:
* basic_blocks.c: Add casts.
* cg_dfn.c: Add cast.
* corefile.c: Add casts.
* gmon_io.c: Add casts.
* hist.c: Add cast.
* source.c: Add cast.
* sym_ids.c (struct match): Moved to top level.
* as.c (main): Call dwarf2_init.
* config/obj-elf.c (struct group_list): New field.
(build_group_lists): Use hash lookup.
(free_section_idx): New function.
(elf_frob_file): Adjust.
* dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables.
(get_line_subseg): Adjust.
(dwarf2_init): New function.
* dwarf2dbg.h (dwarf2_init): New declaration.
Nick Clifton [Fri, 11 Sep 2009 11:16:19 +0000 (11:16 +0000)]
* obcopy.c (copy_object): New parameter `input_arch', architecture
of input file, if not specified in input file itself; all callers
updated; `binary_architecture' hack removed.
(copy_archive, copy_file): New parameter `input_arch', for
`copy_object' usage.
(copy_main): Accept `-B' (`--binary-architecture') option also
for any arch-less input ifile format, not only `binary'; remove
bfd_external_binary_architecture hack; instead, add `input_arch'
to calls to `copy_file'.
* windres.c, windmc.c : Obsolete and useless external references
to `bfd_external_binary_architecture' or `bfd_external_machine'
removed.
* binary.c (binary_object_p): Remove bfd_external_binary_architecture
hack. objcopy `-B' (`--binary-architecture') option is now handled
in a generic way.
Nick Clifton [Fri, 11 Sep 2009 08:09:49 +0000 (08:09 +0000)]
Changelog entry for previous delta.
Nick Clifton [Fri, 11 Sep 2009 08:08:11 +0000 (08:08 +0000)]
* rs6000-core.c (read_hdr): Fix typo in recent C++ compatibility
changes.
Joern Rennecke [Fri, 11 Sep 2009 04:45:41 +0000 (04:45 +0000)]
file README.arcgdb was initially added on branch arc-insight_6_8-branch.
Jie Zhang [Fri, 11 Sep 2009 03:40:19 +0000 (03:40 +0000)]
* ld-elf/warn2.d: `Foo' appears in section 3 when target
is bfin-*-linux-uclibc.
Jie Zhang [Fri, 11 Sep 2009 03:22:57 +0000 (03:22 +0000)]
Fix ChangeLog entry date of my last commit.
Jie Zhang [Fri, 11 Sep 2009 03:20:34 +0000 (03:20 +0000)]
* elf32-bfin.c (bfinfdpic_relocs_info_find): Just return
NULL if `ht' is NULL.
Alan Modra [Fri, 11 Sep 2009 00:00:04 +0000 (00:00 +0000)]
daily update
Hans-Peter Nilsson [Thu, 10 Sep 2009 22:32:10 +0000 (22:32 +0000)]
PR gas/10623
* gas/mmix/err-swym1.s, gas/mmix/swym-opreg1.d,
gas/mmix/swym-opreg1.s, gas/mmix/swym-opreg2.d,
gas/mmix/swym-opreg2.s: New tests.
* gas/mmix/odd-1.d: Adjust for reloc change.
Hans-Peter Nilsson [Thu, 10 Sep 2009 22:26:36 +0000 (22:26 +0000)]
PR gas/10623
* config/tc-mmix.c (md_assemble) <case mmix_operands_xyz_opt>:
Allow register operands for SWYM as for TRIP and TRAP. Correct
operand handling and error checking. Never emit
BFD_RELOC_MMIX_REG_OR_BYTE for operands to these insns.
Joern Rennecke [Thu, 10 Sep 2009 15:09:45 +0000 (15:09 +0000)]
file arcompact-dis.h was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:45 +0000 (15:09 +0000)]
file arc-opc-cgen.h was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:45 +0000 (15:09 +0000)]
file arc-opc-cgen.c was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:45 +0000 (15:09 +0000)]
file arc-dis-cgen.h was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:45 +0000 (15:09 +0000)]
file arc-dis-cgen.c was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:44 +0000 (15:09 +0000)]
file ChangeLog.ARC was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:44 +0000 (15:09 +0000)]
file elfarc.sc was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:44 +0000 (15:09 +0000)]
file arclinux.sc was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:43 +0000 (15:09 +0000)]
file arclinux.em was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:43 +0000 (15:09 +0000)]
file arclinux_prof.sh was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:43 +0000 (15:09 +0000)]
file arclinux.sh was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:43 +0000 (15:09 +0000)]
file arcelf_prof.sh was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:32 +0000 (15:09 +0000)]
file configure.in was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:32 +0000 (15:09 +0000)]
file configure was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:32 +0000 (15:09 +0000)]
file arcsimd.s was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:32 +0000 (15:09 +0000)]
file arcextlib.s was initially added on branch binutils-arc-
20081103-branch.
Joern Rennecke [Thu, 10 Sep 2009 15:09:32 +0000 (15:09 +0000)]
file Makefile.in was initially added on branch binutils-arc-
20081103-branch.